見出し画像

プログラミングの整理・整頓

5Sの定義が「プログラミングのべき論」を言われているような気がする・・と昨日書きましたが、もう少し詳細を書いてみようと思います。

①整理
5Sの定義=「必要なものと不要なものを区別し、不要なものを捨てること」

プログラミングでは、不要なものを作るということは基本的にはやらないのですが、”不要になったものを消す”ということもあまりやりません。
そもそもプログラムを変更する(消すことも含めて)こと自体がやりたくないことなので、特に安定しているプログラムはできるだけ触らないようにというのがエンジニアの習性です。
なのでここまでは賛成なのですが、よく見るのが何か変更が必要になったときに既存のプログラムをコメントアウトしておいて、ログとして残しておくという類いですけど、これはどうかと思います。
いくらコメントアウトと言えどもプログラムが見にくくなるし、違う人が見るとこのコメントは何なの? となります。
プログラムはパッと見でも、綺麗であって欲しいと切に思うので。
タブがずれているとかも避けましょう。

②整頓
5Sの定義=「使いやすいように、決められた場所に分かり易く配置・収納すること」

関数とかクラスとかアーキテクチャーによっていろいろな形態がありますが、基本的にプログラムはサブシステムの集まりなので、それぞれ依存関係があります。
使いやすい関数やクラス(メソッドを含む)は、すぐに使いたくなります。
一方、引数が多すぎて何をしてくれるのかよくわからない関数とか、メソッドが多すぎて意味が複数重複しているようなクラスとか、こうなってくると怖くて使えなくなってしまいます。
5Sではファイル棚とかツールケースとかを想定しているのですが、プログラムでも同じように部品とかツールが分かり易くて安心して使えるようにしておくことが非常に重要です。
何かの問題解決をする時に分かり易い前例やフレームワークが、いつでもすぐに使えるようになっている、こういう環境が整うと、ものすごく効率的に作業ができますよね、プログラミングも全く同様です。

(次回は、清掃、清潔、躾)

よろしければサポートをお願いします。また、何かコメントがあれば情報交換したいので是非お願いします。