いきなりコードを書くより、コメントで実装方法をまとめた方が捗った話

f:id:ryoutaku_jo:20190517203112p:plain

【結論】

・いきなりコードから書き出すと、実装手順がブレてしまい、手戻りが発生する事で、工数を圧迫するケースが散見される。

・コードを書き出す前に、実装のロジックをコメントに書き出す事で、手戻りを最小限に抑える事ができる。

・ノートに書き出したり、他にも様々な方法がある為、人それぞれやり易い方法を採用すると良い。

【目次】

【本題】

いきなりコードを書いていた時

以前まで、コードを書くときには、いきなりコードを書く事が多かったです。

ノートなどに設定方法をまとめてからコードを書いた方が良いという話は何度か聞いた事がありましたが、二度手間の様に思えて、そういった事はして来ませんでした。

しかし、就職して実務を経験するにつれて、それでは立ち行かない場面が度々発生する様になりました。

就職する前は、典型的なCRUDなど、比較的規模の小さい機能の実装しか経験しませんでしたが、業務ではMVC外にコードを切り出さないといけないほどの規模のコードを書いたりするので、頭の中だけでは整理がつかず、どこから手を付ければ良いのか判断が難しくなりました。

また、思いついた箇所から着手して行くと、考慮すべきポイントの抜け漏れが発生し、手戻りが発生する事で、工数を圧迫するという問題も発生しました。

コメントで実装方法を整理してみた

それらの問題を解消させる手段として、コードを書き出す前に、コメントで実装する処理を文章にまとめる方法を試す事にしました。

下記は、データの種類に応じて、グラフ表示用のラベルやデータを集計する為のコードの初期案です。

f:id:ryoutaku_jo:20190517203222p:plain

これにより、下記の様な恩恵を得る事が出来ました。

  • 何をすべきか明確になるので作業効率が上がる

  • 考慮すべきポイントの抜け漏れが防げる

  • 先輩に相談する際、自分の考えが伝わり易い

実際のコードは、この内容からかなり変化していますが、それでも、いきなりコードを書く時より、スムーズに実装を行う事が出来ました。

他の手法も

調べて見ると、同じ手法を採用されている方は多数いらっしゃいました。

脱・読みづらいコード!今日から一段上のプログラマーになる方法 5 選 - xin9le.net

プログラミングが遅い人の6つの原因と解決策 | IT初心者のトリセツ

プログラムを書く際に、はじめに設計書(?)みたいな物って皆さん書きますか... - Yahoo!知恵袋

僕がプログラムを作る手順|erukiti|note

プログラミングにおいて大切な 'スパイクを打つ'とは?

ソフトウェア工学とは何か

他にもノートに書いたり、マインドマップに書く人もいたりと、もっと色んなやり方があるので、他にも良い方法があるかもしれません。

《今日の学習進捗(3年以内に10000時間に向けて)》

グラフ作成機能において、別アカウントのデータも表示件数の対象に含んでいた事を実装途中で気づき、機能修正で手戻りが発生した。 DBを共有する設計の場合、実装方法を誤れば、今回の様に、他アカウントのデータが表示される可能性はある。 万が一、本番環境で同様の事象に気づけなかった場合は、即クリティカルな問題に発展する為、最優先で対処したい課題だと考えている。 実装前のアウトラインを整理する時や、実装後のテストを行う際は、真っ先に他アカウントの情報が表示されない仕様になっていないか?という事を考慮した上で、実装に臨みたい。

学習開始からの期間 :161日
今日までの合計時間:1567h
一日あたりの平均学習時間:9.8h
今日までに到達すべき目標時間:1470h
目標との解離:97h
「10,000時間」まで、

残り・・・「8433時間!」