質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

9回答

1692閲覧

開発での勉強法を教えて下さい。

pipimaru

総合スコア16

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

1クリップ

投稿2017/06/06 10:05

私はプログラマとして4月に会社に入社しました(新卒採用)。
開発現場に最近配属され、ようやくプログラマとしての仕事がスタートしました。

配属され、1週間程経ちましたが現場はとても忙しく、
「7,8月にならないと教えてあげられる時間がない」
と上司に言われました。
とりあえず開発中のソースコードを渡され、見ておいて下さいと言われプログラムの流れを追いながら雑用…というところです。

初めて一般社会で作られているソースコードを読んでいますが、
関数から関数に飛び、更に関数へ…
飛んだ先ではグローバル変数が大量に並び、そのグローバル変数は別の関数で操作…
最終的に行き着いた所も、結局は外部からの信号を利用しており、その信号がどのようなモノなのか、例もないので全く分かりません。
仕様書何ももないので本当に眺めるだけ…といった状況です

上司に「見ておいて下さい」と言われているので、要は「理解できるように勉強しておいてね」ということなのでしょうが、どの様に勉強するのが良いのでしょうか?
初心者に毛が生えた程度ですが、プログラムを少しだけ勉強していたので、動き自体はわかります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答9

0

そのプログラムが動作する環境をなんとしても手に入れるべき。

時間がないと突っぱねられようと、何の成果もなく7月を迎えることを回避するアクションを考えて、上司に報告しつつ進めるべきです。報連相大事。

上司に状況をインプットしておくことで、最悪成果がなくても「仕方ない」と思ってもらう根回しをするんじゃよ。


(蛇足の追記)

他の方の回答を見つつ、オッサンの意見をさらに追加。

何かまとめてから、「こう調べました」と過去形で報告しよう、と考えるのは完全に間違いです。
「こういう方向で調べようとしています」(成果は何もない)と未来形で報告(というか、相談)するようにして下さい。

要は「理解できるように勉強しておいてね」ということなのでしょうが

この想像も間違っています。恐らく上司は独力で理解できるように勉強できると思ってはいません。
出来なくてあたりまえなのです。現実で動いているコードは貴方が想像するよりも遥かに汚なく、どうしようもないコードだらけなのです。

7月までにあなたがするべきことは、「あなたが問題に対してどのようなアプローチを好むのか」「どういったメンタリティで仕事に取り組もうとしているのか」を上司や先輩に知ってもらうことです。

投稿2017/06/06 10:32

編集2017/06/06 11:14
koko_u

総合スコア936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pipimaru

2017/06/06 11:35

上司に「Visual Studioのような使っている開発アプリがあったら教えてください」と聞いた所 まだ無理かな…と言われました… 自分にはまだ早いのか忙しいのか真意がわからず少し凹んでいます…
koko_u

2017/06/06 11:47

> 自分にはまだ早いのか忙しいのか真意がわからず 聞け。どんどん聞くんだ。 真意を推し量るとかエンジニアの仕事ではないよ。 仕事をするんだ。 遊びではないのだよ、単純に人月単価100万とすると、ぼやっと1週間経つだけで25万がふっ飛んでいる計算なので、その無駄なコストに対して凹むべき。
guest

0

上司に確認したら良いのではないのでしょうか。
上司から言われてることがわからないので私達が答えることができる、とはならないと思うのですが。

投稿2017/06/08 01:20

workaholist

総合スコア559

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もし、テストケースが存在するのであれば、それを見て、何が正常系のシナリオなのかを見ておくと理解が早いかもしれません。
特に、新しく現場に入った人にいきなりセキュリティホールを探して埋めろなんて言うはずがないと思います。
正常系をとりあえず理解するようにして、異常系を見つつそのシステムに対して何を懸念しているのかを考えてみましょう。

投稿2017/06/08 01:08

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

本当に仕様書も何もドキュメントがないとしたらその会社はある意味危ういです。
どういうプログラムなのかわかりませんが、趣味で作っているわけではないのでドキュメントがないのはありえない。考え方が記されたものとかがないと、「何でこういう処理をしているのか?」を理解することが難しくなります。

もし、その会社で長く仕事をやっていきたいのであれば、まずは渡されたプログラムを自分なりに解析して、プログラムの構成や構造などをドキュメント化して、それを先輩や上司に見せて「こういう風に理解しましたけどあってますでしょうか?」と尋ねてみたらどうでしょう?『おっ!こいつできるやつか?』と印象を上げることができます。

投稿2017/06/07 08:04

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

仕様書は何もないのでしょうか。
基本仕様書、外部仕様書、詳細設計書、インターフェース仕様書などなど。
せめてそのシステムの概要くらいは把握できる資料は欲しいところですね。
まったく何もないクソ(失礼)システム開発であるなら、動かせる環境はどうでしょうか。
後輩を教育する準備すらしていないクソ(失礼)先輩のようですから、たぶんそれもないのでしょうかね。
質問文から察するに、ソースコードやプログラム自体の理解はできているような印象を受けました。
今やれることは、ソースコード構成の把握、処理の流れを追うこと、コードを読んでて不明な点をまとめる、くらいでしょうか。
あとで先輩から「わからないことある?」と聞かれた時に、疑問点をどっさり突きつけてあげると良いと思います。

投稿2017/06/07 00:00

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の方が回答されていおりますので、別の切り口から。
C#とC言語関係は別の言語として考えるべき。かたや中間言語系、そしてC及びC++はコンパイルして直接実行形式のもの。
恐らく指示された上司はその事も加味しての発言。
言語が異なっても、その会社のソフトの作成の何らかのポリシーの理解を習得が目的でしょう。言語が異なっても処理の手法は同じと思います。

分からない事はメモして、指示された上司(先輩?)質問される癖をつけるのが投稿より有用な方法と考えます。

投稿2017/06/06 13:39

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の方もいわれているように、プログラムから仕様を作る
ってのも勉強になるのでやって損はないと思います。

とりあえず開発中のソースコードを渡され、見ておいて下さいと言われプログラムの流れを追いながら雑用

ソースコードの管理はツールかなにかでやってるのかな。
その場合は、それの使い方を勉強しておくのもいいと思います。
また、「雑用」といっても仕事の一部ではあるはずですよね。
そのへんから仕事の流れを把握してほしいみたいなことを
期待していたりするんじゃないのかなあ。

投稿2017/06/06 10:53

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pipimaru

2017/06/06 11:39

忙しいから雑用を頼む… と言われていたので、雑用をする気満々だったのですがあまり雑用が来なくて悲しんでます… もちろん自分が手を出せそうな雑用は積極的にやって良いのか聞いていますが。
takasima20

2017/06/06 11:47

noobさんの実力というか性格というか呼吸というか 仕事の相手としてどうつきあっていったらいいか まだつかみかねているのかも? そのためにも、頼まれたことはちゃんとやりーの 仕事の邪魔にならないくらいの雑談しーの 自分の情報を発信しーの… とりあえず、会社の中をよく「見る」と 分かることもあるんじゃないかなあ。
guest

0

グローバル変数が大量に使われているとか、外部からの信号を受け取るとかからすると、もしかして組み込み系ですかね?

仕様書がないなら、まずコードから(せめて各関数ごとの)機能一覧、変数一覧を作りましょう。わからないところはとりあえず穴にしておいてでも、関数の相互関係、プログラム全体の流れをつかむ調査はしておくべきです。

それがある程度できあがってから、分からないところを「こういう感じにまとめてみたのですがここの部分が良くわからないのですが……」という感じで聞きにいけば、上司なり先輩なりもあなたがどの程度理解しているか分かるので対応もしやすくなります。

投稿2017/06/06 10:39

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pipimaru

2017/06/06 11:47

機械のの1から全てを自社で作っています。これって組込系なのでしょうか? 後付ですが、今仕様書っぽいものを作っています。
tacsheaven

2017/06/06 14:50

機械の制御用の基板からその上で動くプログラムも自前、ということでしょう。であれば十分に組み込み系ですね。 おそらくですが、使用しているのは C 言語かと推察します。
guest

0

自分なりに仕様をまとめてみたらいいんじゃないでしょうか。
仕様書が存在しないので正解はわかりませんが、漫然とコードを見るよりは楽しいと思いますよ。

投稿2017/06/06 10:19

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pipimaru

2017/06/06 11:30

後付ですが、今仕様書を作っています! 仕様書と言うよりは詳細書ですが・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問