先日、以下のツイートが話題になってました。
小学生向けプログラミングの本でしれっと有害な嘘を書くの、やめてくれませんかね…。前後は正しいから尚更厄介だ。 pic.twitter.com/xgbotOSi86
— まっつん総研 (@matsun_research) 2019年4月24日
自分だけしかいじらないプログラムなら好きに書いてもらって結構なんですが…
実際の仕事ではシステムは作ってそれで終わりではなく、その後も保守や改修があります。むしろ保守や改修の期間のほうが長いくらい。
しかも保守や改修といったことはたいてい初めにプログラムを書いた人とは別の人が担当することになります。
プログラミングの何が一番むずかしいかと言うと、他の人が書いたプログラムを解析することが一番難しいと思います。
よほどマイナーな言語を使ってない限りネット検索すればやりたいことのコードは大体出てきますから、とりあえず要件を満たすだけのプログラムを書くことはそんなに難しいことではありません。
一流のプログラマーというのは、初期段階から後のことを考えて保守性の高いプログラムが書ける人のことです。
センスのない人のコードは変数定義ひとつですぐにわかります。
何の意味もない「aaa」とか平易な英単語があるのにローマ字で「namae」とか定義しちゃう人ははっきり言って適正がありません。
これを読んでいる人の中に将来プログラマーになろうとしている人に警告します。
プログラムは動くことも大事ですが、それと同じくらいきれいなコードが書けることも大事だということを忘れないでください。
…などと偉そうなことを書いている私ですが、前職で最後に担当したシステムのコードはあまりきれいとは言えないものになってしまいました。すいません。
しかしこれには理由があるのです。
全体スケジュールがあまりにもタイトでプログラミングに割ける時間が少なすぎたというのがその理由です。
私だって時間さえあれば推敲に推敲を重ねたきれいなプログラムを書きますよ。
しかし使う人はコードのきれいさなど気にしないということもまた事実なんですよね。使う人は要求した動作通り動いてくれればいい。それはその通りです。
ですので、きれいなプログラムを書いてほしいという願いには「時間が許すのであれば」という付言を付け加えておきます。
あんまり思い出したくないけど、私の後任者はさぞかし苦労しているだろうな…
すまぬ… すまぬ…😭