先週のことで恐縮だが
という記事が公開されていて,これを読んで思い出したのが20世紀に参加した某プロジェクトでの世間話。
もう四半世紀前のうろ覚えでしかも人伝に聞いた内容だが,当時は意図的に難読化コードを書くプログラマも多かったらしい。
理由は単純で,コードを「属人化」してしまえば少なくともそのプロジェクトに関してはクビにならないから。
というわけで COBOL プログラマはきっと「まだだ! まだ終わらんよ!」と思っているだろう(笑)
「無人化システム」
一方,上の記事が出る少し前に
というのが Zenn で公開されていて,あまりの納得感に投げ銭してしまったのだが(笑),記事では「無人化システム」を
と定義しているようだ。
「傭兵」時代は「汎用機+COBOL」からのリプレイス案件を時々受けていたが,何が困るって,ドキュメント化されない「誰も知らないコード」が平気で紛れ込んでいて,しかもそのコードに手を出すとどんな影響が出るか予測できないという事態にホンマに困っていた(あと,どうやっても正規化できないデータベースとかw
)。
まっ,要するに,時代や言語に関係なく,この手の話は割と普遍的に観測できるということなんだろう。
メンタル・モデル
2017年に公開された記事だが
というのを最近読んだ。
特に Go でコードを書く人はこの記事は必読だろう。
いくつか拾い読みしてみる。
これ以降は Go をターゲットにした具体的な話に入っていくのだが,これが Go に限る話ではないということはお分かりいただけるだろう。
プログラマにとって最も信頼できるドキュメントは動いているプログラムコードである。
だからこそコードは「文芸的」であるべきだし,プログラマは要件定義の段階から積極的にコードを書くべきだと思う。
リファクタリングは何時でもできるのだから。
書いた人にしか分からない20世紀なコードはもうケッコウである。
ブックマーク