はじめに
某『リーダブルコード』の要約記事に始まる、優れたコードに関する不毛な議論がコメント欄で始まっていたので、『リーダブルコード』が本当に言いたかったことを説明します。
なぜ私が説明するかって?
それは、私が『リーダブルコード』のファンだからです。
なお、某記事では記事の著者にブロックされていてコメントできないため、新規記事にしました。
『リーダブルコード』の本当の内容
1.1 「優れた」コードって何?
この章では、まず直感的に優劣を付けられる例を挙げ、それから件のコードが登場します。
(以下、P2~P3から引用)
でも、どちらが優れているかわからないことも多い。例えば、このようなコードは、
return exponent >= 0 ? mantissa * (1 << exponent) : mantissa / (1 << -exponent);
以下のコードよりも優れているのだろうか。
if (exponent >= 0) {
return mantissa * (1 << exponent);
} else {
return mantissa / (1 << -exponent);
}
前者のほうが簡潔だ。でも、後者のほうが安心できる。「簡潔」と「安心」はどちらが大切なことなんだろう? 君ならどうやって決めるだろうか?
[引用ここまで]
つまり『リーダブルコード』はどちらのコードが優れているとは言ってません。
優れたコードの判断基準をどこにおけばいいのかを考えるための材料を提示しているのみです。
『リーダブルコード』の結論
1.2 読みやすさの基本定理
鍵となる考え
コードは他の人が最短時間で理解できるように書かなければいけない。
そう、これが結論です。
『リーダブルコード』は、これを実現するための様々な考え方やテクニックを説明する書籍です。
要約記事を読むより書籍を買って読む方がコスパ高いよ
t/o
最後に
なお、私はこの記事の内容に関しての議論はしたくありません。
あしからず。