こんにちは
システムチーム / プログラマーのNです。
本日のブログはプログラマーとして働いている上で毎日考えるコードのことについて書こうと思います。
先日社内で勉強会があり、チームメンバーが書くコードを見る機会があったので改めて考えてみたいと思います。
メンバーごとに違うコード
普段の業務において他メンバーのコードをじっくり見るということはありません。
もちろん開発したものをリリースするにあたり、コードレビューは必ず行います。
チームのマネージャーがコードレビューをし、承認を得て初めて次のフェーズの作業に入れます。
今回勉強会をし、改めて感じたことは複数人のコードレビューを通したら何か正しいのかがわからなくなるなということです。
書いた結果の表示上の動きは同じだとしても、中身は各々の考え方やスキルによって違います。
今回はカレンダーを作成したのですが、
・月によって可変する行の数
・1日が何曜日から始まるのか
・月末の最終日は何曜日なのか
このあたりをどうするかがメンバーごとに定義の仕方が様々でした。
その中でもやはりマネージャーのコードはしっかり考えられていて、
固定した数字で行を表現するのではなく、システム的に表現していました。
わかりにくい部分を分離させるコードを書いていました。
複雑な部分になるとどうしてもif文が多くなってしまいます。
1つのif文に複数の判定処理が入ってしまうと、わかりにくく、バグの発生に繋がってしまいます。
そうならないためには、そうならない考え方と情報を多くもっていないといけないと感じました。
共有することの大切さ
今回の勉強会は、代表が時間をとってくださり実現しました。
ありがとうございました。
メンバーのコードを見て、良いところ・悪いところを共有できて良かったと思います。
良いところと悪いところを各々が出し合い、考えることで、自分だけでは答えを出せていないところの解決策を共有できました。
「この部分の処理についての考え方は、コードを書く前に既に持ってましたか?」
や
「自分はこう考えて書きましたが、考え方が違うでしょうか」
などコードを見比べながら情報を共有できました。
機会があれば次回も開催できたらと思います。
最後までお読みいただき、ありがとうございました。