こんばんは!
最近はパートナーさんが書いてくださったコードを読むことも出てきて、このコードはなんですぐ理解できるんだろうと考える機会も生まれました。
まずは簡単に要約されているコメントがあると、とっかかりやすいですね笑
てなわけで今日も続きを書いていきます。
<前回記事>
<読んでる本>
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
11章 一度に1つのことを
入社した当初、先輩から「1つの画面で出来ることは少ない方が良い、究極は1つが迷わなくて良い」と言われました。
これはUI/UXの話ですが、この章ではそれがコードにも当てはまることを説明しています。
コードの塊、例えば関数があったとして、その中に処理がいくつもいくつも含まれていると、読みにくくなります。
理想は1つの関数があり、それは1つの目的があって、それがコメントで簡潔に説明されている。
想像しただけでも読みやすそうなことがわかります。
そして既に書き終わっているコードをリファクタリングするのであれば、コードが行っていることをタスクとして列挙し、タスクを分割して書くことが読みやすさに繋がります。
12章 コードに思いを込める
「おばあちゃんがわかるように説明できなければ、本当に理解したとは言えない。」アルバート・アインシュタイン
とても良い考え方ですね、思わずそのまま載っけてしまいました。
先日同僚もこんなことを言っていました。
「今回のコードは、営業でもわかるように書いてる!」
本質的には同じことを言っているように思います。
エンジニアが書くんだから、エンジニアが読めるように。さらにもう一歩先に行って、専門家じゃない人が読んでも理解できるってすごいことだと思います。
そしてこれは営業さんが、例えばお客さんに機能について説明しやすくなるように、簡単にメリットが思い浮かびます。
分かることは自分で調べてもらう習慣が会社に根づけば、お互いに時間を節約でき、良い循環が生まれそうですね。
ではタイトルの思いを込めるとは具体的にどういうことなのか、本書には「プログラム(あるいは自分の考え)を言葉にすることで明確な形になる」と紹介されています。
問題や設計に悩んだ際は、誰かに聞いてもらう機会を作ったり、誰かに説明するつもりのドキュメントに起こしてみることで整理されるということですね。
ということで今日はここまで!
続きはまた!
2021.2.9 ガオ
コメント