Posted at

プログラミング初心者でもやれること

More than 3 years have passed since last update.

プログラミングの能力が足りない人でも可能な、というか、初心者だからこそなおさらすべきことがあります。

ソースコードを読みやすくするために、インデントや空行を入れること、またその入れ方を統一すること。

また、忘れた頃に読んでも解るように、あるいは他人が読んでも解るように、コメントを入れること。

プログラマとして戦力にならない人でもやれます。

むしろ戦力にならないからこそ、「やれ」と言われるかもしれません。初心者でもやれる他人のソースコードの手直しといったらこんなことくらいですから。


インデントの作法

インデントの作法にも、


  • タブ

  • スペース2個

  • スペース4個

などなど、人により、プロジェクトにより、職場により、さまざまです。

しかし、一貫性が重要です。

自分だけで書いているソフトウェアだと、自分のルールで統一すること。

他人と一緒にやるのなら、皆で統一することが重要です。

インデントにタブを用いる場合には、エディタ等の設定でタブが何文字分の幅に見えるようにするかも、メンバーで統一しておくことが必要です。

一般には、8文字分がOSやエディタのデフォルトであることが多いかもしれませんが、それを4文字に設定するケースもあります。


空行の作法

読みやすいように、空の行を余分に入れることも一般的です。

ひとまとまりの処理の前後などに空行を入れたりします。

それがもしも、空行が一切無いと、物凄く読みづらいです。

これも、自分一人なら自分ルールで統一すること。

他人と一緒にやるのなら、皆で統一すべきなのですが、インデントの入れ方に比べると忘れがちかもしれません。

ルールの定義のしかたも、インデントに比べると難しいですし。仲間のソースコードをたくさん読んでいるうちに習得するものかもしれません。


コメントを書く

あとで忘れたら読み直して理解に時間がかかるようなところや、他人が一見して解らないようなところには、コメントを入れることが重要です。

反対に、一見して解るようなところに書くのは文字や行のムダだと言われるかもしれません。

初心者で、コメントを入れるべきか入れないべきか判断のつかないときには、コメントを入れる方が無難です。


プログラミング言語によって変わる可能性

コメントの入れ方は、プログラミング言語により異なります。


  • /* comment */

  • // comment

  • # comment

  • -- comment

なんかが一例です。

また、プログラミング言語によっては、インデントに意味があるものもあります。

例えば、C言語なんかはインデントに解釈上の意味はありませんが、Haskellなどでは重要な意味があります。

そうなると、インデントを忘れたりしたらとんでもないことになります(つまり、明らかなバグになります)。


データが大きくなって困らないの?

コンパイルして実行バイナリを生成するプログラミング言語では、最終的な実行バイナリのサイズには大きな影響はないと思います。

Python や Ruby、Perl などなど、インタプリタ型の(スクリプトの)言語では、インデントやコメントなども、プログラムのサイズにそのまま影響を与えます。

しかし、一般的には、インデントやコメントなどもちゃんと書きます。

ただ、書かないケースや、最終的な完成版にするときに削除するケースもあります。


初心者にやらせる意味

他人の書いたソースコードの、インデントやコメントなどを直すことは、一見するとつまらない雑用のように思えるかもしれません。

プログラムの機能自体には影響を与えませんから。

しかし、こうした作業は、そのソースコードを読んで理解しないと不可能です。

つまり、プログラミング能力のある人が書いたものを読んで学習する良い機会です。

さらに一般的にいっても、業務を習得するには、他人がやっている(やってきた)ところを見て倣うことから始まります。

そして、生産性の無い作業をやらせるよりは、雑用レベルでも生産性のある、新入りでも貢献可能な作業をやらせるわけです。

(生産性皆無の作業をやらせたら、ことによってはイジメと捉えられてもおかしくありませんから。)