10)の方が読みやすいですよね。これは英語の用法と合っているようで、「もし君が18歳以上ならば」というのは自然ですが、「もし18年が君の年齢以下ならば」というのは少し不自然ですよね。これと同じ原理なので覚えやすいです。if/elseブロックの並び順if/elseブロックは、下記を意識してコーディングする方が良い。条件は否定形よりも肯定系を使う。単純な条件を先に書く。ifとelseが同じ画面に表示されるので見やすい。関心を引く条件や目立つ条件を先に書く。プログラムを書いていると、より少ない行数でコーディングできた方が優れているや1行で書けたぜドヤという一種の俺すごいだろ錯覚に陥ることが少なくない。行数を短くするより、他の人が理解するのにかかる時間を短くするのが一番大切だということを、改めて肝に銘じたい。無関係の開問題を抽出するエンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を組み立てることに他ならない。この原則をコードに当てはめれば、堅牢で読みやすいコードになる。ここで大事なのは、無関係の下位問題を積極的に見つけて抽出することだと本書では述べている。具体的には下記を念頭に置いてコーディングを行うと良い。関数やコードブロックを見て、「このコードの高レベルの目標は何か?」と自問する。コードの各行に対して「高レベルの目標に直接的に効果があるのか?あるいは、無関係の下位問題を解決しているのか?」と自問する。無関係の下位問題を解決しているコードが相当量あれば、それらの抽出して別の関数にする。コードに思いを込めるコーディングする際に、プログラムのことを簡単な言葉で説明することで、コードがより自然になっていく。この技法は思っているよりも簡単だが、非常に強力である。説明で使う単語やフレーズをよく見れば、分割する下位問題がどこにあるかが分かる。問題や設計をうまく言葉で説明できないのであれば、何かを見落としているか、詳細が明確になっていないということだ。プログラム(あるいは自分の考え)を言葉にすることで明確な形にすることができる。まとめ今後は1行ドヤコードは避ける。(いわゆる「頭の良い」コードには気をつける)他の誰か(数ヶ月後の自分を含め)に読みやすいコードを心がける。コードだけで会話できることを目標とし、本書のタイトル通り読めるコードを書けるよう研鑽する。冒頭でも述べましたが、コーディングに関わる方々は一読の価値ありです。普遍的かつ不変的な内容なため、30歳になる手前の比較的若い年齢で本書と出会えたことは、とても幸せなことであり、今後のスキルアップ/キャリアアップに役立ってくれると感じました。01:45リーダブルコードを読了しました関連記事2019-06-23GloVeを使って単語の分散表現を取得するこんにちは。takapy(@takapy0210)です。前回に引き続き、後編です。前編の簡単な復習...2018-06-28k-最近傍法でアイリスのクラス分類問題を解く(python)こんばんは。本日は、機械学習の定番とも言える、アイリスの花...2018-05-16重回帰分析を行なってみたことのまとめ。その1(Python)今回は重回帰分析で得た知識をつらつら書いていこうと思う。Rails入門を学習しました。(ソースコード有り)明けましておめでとうございます。toC企業でMLエンジニアとして働いています。ブログでは主に機械学習界隈の話ができればと思っています。(1)月別アーカイブリンクプライバシーポリシ。