【プログラミング】コメントのないプログラムとは

こんにちは。Itoop(アイティープ)の保志です。

日に日に寒さが増してきたかと思えば、コートもいらなくなるくらい暖かくなったりと、この時期の東京は着るものに困るときがあるなぁと感じます。

とはいえ、朝晩は冷え込むので、着るもので調整できるような服装を心がけていきましょう。

さて、今回もシンプルなプログラムを書くためのひとつとして挙げた内容の1つである、「コメントを書かないコード」についてです。

この部分に対し、質問をいただくことが何度かあったので、こちらを深堀していきます。

なぜコメントを書かないのか

コメントを書かない理由は、「そのメソッドの説明と名前がしっかり定まっていれば、中身のソースコードをそのまま読めば理解できるから。」ということでした。

当時私が参画していた案件では、もちろんソースコード内にコメントはありましたが、いずれも「理由(Why)」が書かれていました。しかし、それでもコメントの量が非常に少なかったのを今でも覚えています。

それはクラスやメソッドの名前が一定のルールの元に定められており、それぞれのメソッドの処理が簡単で単純なものだったからでした。

以上のルールが徹底されていたため、ソースコードの可読性が担保されており、システムの信頼性が高いものになっていたのを今でも覚えています。

そのため、ここでの経験は「物事を細分化すること」を身に付けることに繋がりました。

具体的な施策

具体的にはどんなルールが守られていたのかについて書いていきます。ポイントとしては以下2つになります。

  • メソッドの役割は1つに絞る
    例えばですが、買い物のシステムが仮にあったとして「購入商品の税込み価格を算出して、合計額を計算する」という処理があった場合はざっくり以下に分けられます。
    ・商品情報の読み込み
    ・税込み価格の算出
    ・合計値の計算

    それぞれの処理を1つのメソッドの中にすべて書くのではなく、別メソッドとして定義し、それらを呼び出すようにします。

    つまり1つの処理を細分化し、パーツごとに切り出すようにします。

    こうすれば、他で新たに「税込み価格の算出」を行う処理を書く場合、すでに作成していたメソッドを呼び出すことで対応することもできるようになります。
  • 「何をしているか」ではなく、「なぜこうしたのか」をコメントにする
    ルールが徹底されていたとしても、どうしても複雑になってしまう場合もあります。その場合に「どういう理由でこの処理を書いたのか」を簡潔に書くというものでした。

    なぜその条件式を書いたのか。なぜここで処理を分岐させる必要があるのか。この処理を行うにはどういった条件を満たしている必要があるのか。など、この説明が必要な場合にのみ記載しておりました。

    それ以外の「何をしているか」は、メソッドの名前と説明を読めば理解できるようにルールが定められているため、記載はしませんでした。(逆に、「何をしているか」のコメントを書けば指摘されるくらいでした…)

記事の中でも書きましたが、以前書いた命名規則についても徹底されていることが重要になります。過去の記事もご参照ください。

参考➀:https://itoop.yuima-ru-tokyo.com/2024/11/22/itoop-30/

シンプルなソースコードを書くポイントについては以下にまとめています。

参考➁:https://itoop.yuima-ru-tokyo.com/2024/11/01/itoop-25/

まとめ

前回に引き続き、プログラミングに関しての記事を書きました。当時は守るべきルールが多く、コメントひとつとっても、こうしたルールが徹底されているため、最初は驚きました。

しかし、色々な理由を知っていくと「確かに大事だな」と感じるものも多かったため、良いものを作るには「一定の基準」を満たす必要があるのだなと理解することのできた経験でした。

些細なものではありますが、この経験が皆様の今後に役立つものとなれば幸いです。

ーーーーーーーーー

【株式会社ゆいまーる(社長:島袋尚美)】
『若者のエンパワーメントを通じて、日本を元気に』を理念に、Itoop(ITコンサルティング)、JUNGLE BREWERY(クラフトビール)、キャリア支援など複数事業を展開。
HP▷http://yuima-ru-tokyo.com/ 

【社長の経歴】
島袋尚美(Shimabukuro Naomi)
沖縄出身。筑波大学卒業後、システムエンジニアとして証券会社に入社。
日本IBMに転職し、ダブルワークで立ち上げの準備を開始。
28歳で独立、2016年に株式会社ゆいまーるを設立。
その後国際結婚を経て、現在は子育てをしながらママ社長として、複数の事業を手掛ける。