こんにちは
システムチーム / プログラマーのNです。
現在、5月から開発しているシステム案件の最終テスト・修正作業を行っています。
最も大変なフェーズに入りましたが、より良いサービスにするために頑張らなければいけないと思っています。
全体の振り返りは完了後に改めて書きますが、今回のブログはシステム開発時に感じた、プログラムコードのことについて書こうと思います。
良いコードとは何なのか
そもそも良いコードとは何なのだろうか。
書き手によってそれぞれだし、
10人のプログラマーがいたら結果は同じでも、1つとして同じコードはないと思います。
例えば命名、
例えばインデント、
処理の書き方にその人の癖であったりがでます。
なので、一言一句全て同じで、誰が見ても正確に理解できるというコードはないということになります。
「結果を同じにすれば、コードの過程はこだわらなくていいんじゃない?」
そんな言葉がでてきそうですが、
今回のシステム開発をしてみて
読み手を意識し、未来に読む人のことを考えて書くコード
というのが良いコードだと改めて感じました。
保守しやすいコード
読み手を意識し、未来に読む人のことを考えて書くコード
この未来に読む人というのは自分自身も含まれます。
システムを作っていく中で、どんどんコード量、ファイル量は増えていきます。
直近に何をどこに書いたかは覚えていても、1か月後となると確認をしなければわからない場合もあります。
このとき、記述に一貫性があり、処理がきちんと分離されていたとしたら、内容を理解するのに時間はかかりません。
修正が入ったとしても、
「この部分は表示があのファイル」
「この部分は処理があのファイル」
という風にファイルを特定して、ピンポイントで修正できるからです。
いわゆるスパゲッティコードになっていると、結果と処理が混在し、コードを読みにくくし時間がかかってしまいます。
自分で読みにくいコードは、未来の別の誰かが見たらもっと読みにくいコードでしょう。
「たぶん読んだ人はわかってくれるだろう」
ではなく、
「読んだ人はわからないかもしれないな」
という考えを常に持ち、作業することが大事だと感じています。
コードだけではなくシステムの定義も同じ
コード上のことだけでなく、システムの定義にも同じことが言えます。
代表の言葉ですが、
システムとは未来の別の場所にいる誰かの行動を制御する仕組み
まさにその通りだと思っています。
コード・UI・UX
どれをとってもそれが当てはまります。
「だろう」
という自分本位な考えからくるものではなく、
「かもしれない」
という
相手のことを意識した考え方が重要だと感じました。
最後まで、お読みいただきありがとうございました。