より良いコードを書くためのシンプルで実践的なテクニックまとめ - あしみの 日記 ←この記事の続きです。
コード書いてて思ったけど、「他の人が最短時間で理解できるコード」と「頭がいいコード」の両立が難しい。処理の重複を抽出(メソッド化)すればするほど、「他の人が最短時間で理解できる」に遠ざかる。
「他の人は最短時間で理解できる」のためには、ずらずら書いた方がいいんだろうな。でもずらずら書いてそれテストすんのやだしな。「頭がいい」ほうがテストは減るからな。
それでやっぱり重複抽出しちゃうよねー。「これぐらい読めばわかるだろ」って思って書いてもレビュアーに「これなにしてんの?」って言われるしな・・・結局説明している。
「他の人が最短時間で理解できる」って「他の人が考えなくても理解できる」に近いのか・・??コードがネイティブ言語のように思考に入っていくというか。それなら「頭のいい」コードなんて書くなって話だ。メソッドに飛ぶたびに考えるだろ。でも適切なメソッド名なら悩まんからいいのか・・・メソッド分割の仕方がいかんのか?
むずかしいな。今日も結局「DB値:『0』オフ、『1』オン」の値をBooleanで取得するとき、「(DB値)=1」じゃなくて「Boolean(DB値)」でとったよ。例によって0と1のどっちがTrueか一瞬迷ったよ。だって「=1」ってださいじゃん。そもそもこれはDB値がBoolじゃないのがいけない気がしてきた。
本当に頭のいい人は「他の人が最短時間で理解できる」と「頭がいい」を両立してんだろーな。コーディングは芸術だ。明日もプログラミングなう\(^o^)/
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- この商品を含むブログ (140件) を見る
あわせて読んでね!
東大卒はすごい!という話→
東大卒の人に「(受験勉強を)頑張ったんですね」と言ったら