• ベストアンサー

プログラミングのスキルをつけるには

私はソフトウェア開発の課に配属されて10ヶ月経ちますが、MFCの研修を1ヶ月ちょっと行ない、その後は結合テストや、ヘルプやReadmeを作ったりしていました。 研修後は全くと行っていい程、コーディングはやらせてもらえませんでした。 それなのに、既存のAPの保守のような事をすることになり、今後問題があれば修正しなければならない可能性も出てきました。 今のスキルではソース解析も出来ず、困っています。 せめてソースを読めるようになるには、どうしたらいいか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

10ヶ月もあったんですから、それなりに勉強できたはずだと思うんですが… 「コーディングをやらせてもらえなかったから出来ません」ってのは、かなり苦しい言い訳に聞こえますよ(^^; MFCをされたということですので、言語はVC++でしょうか? 実際に動くソースがあるんですから、まずはデバッグモードで動かします。 メインとなるボタンを押したときのイベントがあると思いますので、そこにブレークポイントを仕掛けて、1行ずつ追いかけて行けば、大まかな処理の流れは掴めると思いますよ。 まずはざっくりと、処理の流れを追いかけて、頭の中でイメージを作り上げてください。 分からない関数が出てきたら、定義位置の参照を行ったり、ヘルプで調べたりしてください。 あとはC言語の入門書やリファレンスなどを用意しておき、空いた時間を使って自分で何本か本に載っているプログラムを組み上げたりするといいかも。 それと、分からない部分などがあれば、先輩方に煩がられる位に質問してもいいんじゃないでしょうか。 APの保守で一番大事なのは、どこでどのような処理をしているのかの概略を把握しておくことです。 ○○をしたいという要望から、どの部分を変えればいいのかが分かるようになれば、あとは前後のソースを参照してアレンジを加えればいいだけなんで。 あとは、grepを使いこなすことかな。 多数の実行モジュールからなる大規模なプロジェクトの場合は、grep必須です。(大規模なAPの方が参考に出来る部分が多くある分、新人PGにとってはやりやすいんですよね。)

kurosu_z
質問者

お礼

早い回答ありがとうございます。 確かに言い訳でした。…が、やっぱり難しいです。 初心者のため、ソースが長いッ!!っていうだけで構えてしまう部分もあります。 長すぎて見失ってしまうことが多くて大変です。 でも、大規模なAPの方が初心者にはやりやすいものなんですね。 分からなかった関数や変数があったらすぐに飛んで調べるのではなくて、一つの関数を一通り目を通して、分からなかった関数や変数を見返す、といったやりかたの方がいいんでしょうか。 ブレークポイントで追いかけて行くのは、なるほど!!という感じです。 勉強になりました。 ありがとうございます!! それとgrepというのは、いわゆる[ファイルから検索]の事でしょうか? また質問してしまっていますが、ご回答いただけると幸いです。

その他の回答 (2)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

>分からなかった関数や変数があったらすぐに飛んで調べるのではなくて、一つの関数を一通り目を通して、分からなかった関数や変数を見返す、といったやりかたの方がいいんでしょうか。 最初は、本当に「ざっくり」でいいんです。 組み込みの関数類は無視して、ユーザ定義の関数の名称と役割(先頭にコメント書きしてあるはずです。)だけをメモっときましょう。 それだけでも「キモ」になる部分は見つかると思いますので、次はそこを中心に見ていけばいいでしょう。 設計書が充実しているプロジェクトであれば、関数一覧とかフローチャート類があると思います。こういったものがあれば、ソースを追いかけるのも相当楽になりますよ。 >それとgrepというのは、いわゆる[ファイルから検索]の事でしょうか? それでもいいですけど、正規表現が使えないなどの制限があります。 私は秀丸のgrep機能を良く使います。

kurosu_z
質問者

お礼

返信遅くなって本当に申し訳ありません。 保守の仕事はまだまだ続いていますが、全体的に変更をしなくてはいけない部分が出てきて、その業務を通して少しは分かるようになってきました。 なんとか私がやった変更で正常な動作をするものが出来ました。 ちなみに、関数の名称はとても大事ですね!! コメントがあまり充実していなかったのでかなり救い になりました。 それと上司の方にもざっくりが大事だと言われました。 あと、[ファイルから検索]はかなりお世話になりました。とても便利!! ご回答ありがとうございました。

  • ginyou
  • ベストアンサー率32% (138/431)
回答No.2

>APの保守のような事をすることになり という事は、あなたのスキルをアップさせようとしているのかも?  まず、先輩方のソースを見て勉強しろという事です。 >コーディングはやらせてもらえませんでした  それは、やらせて貰えないですよ。  システムを開発するのは、それほど簡単じゃないという事です。  ちょっと研修したくらいで、システムをくめたりしません。  実務を勉強しなさいって事ですね。  一番のヒントは全体像をはっきりつかんでおくことです。  そうしないと、重要な部分を見逃しますよ

kurosu_z
質問者

お礼

返信遅くなって本当に申し訳ありません。 保守の仕事はまだまだ続いていますが、全体的に変更をしなくてはいけない部分が出てきて、その業務を通して少しは分かるようになってきました。 なんとか私がやった変更で正常な動作をするものが出来ました。 ご回答にあるように、細かいところよりも全体的な部分を把握しておかないといけないことを実感しました。 ご回答ありがとうございました。

関連するQ&A