modest violet

modest violet

開発者としてのあれこれや、日々の雑記など

your future hasn't written yet. no one's has.
by Emmett Lathrop "Doc" Brown

プログラム初心者に必ずアドバイスするプログラムセンスを磨く3つの基本的項目

f:id:shin21sk:20160306130626j:plain
プログラミングを人に教える際に、言語によって教える内容は千差万別ですが、必ずと言っていい程どの言語でも徹底させている事があります。昔から良く言われている内容ですが、僕自身も人に教える際は口を酸っぱくして必ず教える項目がいくつかあります。意識せずに行えるようになるかどうかが、プログラミングセンスを伸ばす最初のステップだと思っています。中でも徹底してアドバイスする項目3点を紹介します。

1.変数名やメソッド名は日本語ではなく英単語で記述する

初心者の人は大抵、ローマ字書きで変数名をつけようとします。下手をすると漢字を始めとした2バイト文字で記載する場合もあります。もちろん日本人ですので、日本語で記載するのが一番理解しやすいというメリットはあります。ただ、変に2バイト文字で記載すると、コメントと混同してしまい、全体的にはかえってソースコードの可読性を下げてしまいます。
但し、注意すべき点は下手な英語で書くと却って意味不明になってしまったり、とんでもない解釈をされてしまう危険性もあるという点です。関数名やメソッド名は簡単に命名できますが、実は洗練されたスキルが必要になってきます。適当に名前を付けるのではなく、しっかりと考えて付ける癖を身につけるようにアドバイスしています。尚、プロジェクトで共通の命名規則が設けられるのは、個人間でのクセを極力減らして間違いを少なくする為です。
僕自身が重宝しているのは、下記サイトです。
codic.jp

2.インデントを必ず行う

これも可読性を大きく左右する項目です。最近の開発ツールは自動インデントが行われるので、あまり意識する必要性は無くなってきましたが、やはり重要です。たまに個人の好みでインデントのポイントを小さくしているケースもありますが、他人が見ると凄く見にくいので、共通ポイントでインデントをつける癖が必要になります。プログラムを書く場合は、自分が分かれば良いという視点ではなく、他の人が読むという前提で書くようにアドバイスしています。

3.適切な型を使用する

少し難易度は上がります。int型だったりstring型だったり、それぞれの型の特徴を把握しなければ最初は全く分からない項目です。扱う内容が文字なのか、数値なのか。最初はこの辺りで分けていけば良いと思います。ただ、最近の.NETは型推論という超便利な機能により、型を意識しなくても良くなっています。開発を行う上では物凄い便利なんですけど、この辺りの感覚を養う機会が減ってきいるという危惧はあります。

最後に

プログラムは動けばいいというものではありません。動くのは当たり前で、普段は目につかないソースコードも他の人が見た時に分かりやすくするのが理想です。何故ならば、自分で書いたソースコードも数ヶ月経つと読めなくなる事が大半です。自分自身も他人と思って、他の人にも判るように記載する事が大事です。
上記3点の項目違反を見た時に「気持ち悪い」と感じる事が出来るようになれば、初心者から脱却出来たと言えるかも知れません。個人的にはそう教えています。

プログラミングは日々研鑽が大事です。最初は覚えることが多くて大変ですが、必ず楽しくなる瞬間はやってきます。仕事に追われなければ・・・ですけどね。