Clean Coder
おもしろい本だった。一章だけ読んだが、フリーランスのエンジニアとして必要な行動規範が書かれており参考になる。
- 責任をとる⇨コードを確実に動かす
- そのためには、不明瞭なところを一切なくす
- そのためには、常にコードに細かい変更を加えること、が一つの策。
- もう一つは、テストを書くこと。全てに。テスト駆動開発 Test Drive Development TDD。
- 常に細かいコードへの変更を加えることで、「柔軟性」を与えることができる。そして変更を加えるためには、コードを理解している、もしくはしなくてはいけないから、それも結果的に、コードを確実に動かすことにつながる。
- 例えば、JSならグローバルに配置されているファンクションやヴァリアブルを、クラスに書き換える。もしくは、純粋関数で書き直してみる。他にも、別の機能が追加された時にも、そのコンポーネントが機能するのか、試してみる。もしうまくいかないとすれば、柔軟性が低いコードになっているので、変更する。
特にコードを書く段階では、「柔軟性」というキーワードが参考になると思った。一般的には、洗練された、もしくはベストプラクティスに基づいたコードを書く、という方針がよく取られるのではないかと思う。しかし、そうではなくて、常にコードを動かせるような柔軟性のあるコードを書く、もしくはそのために実際にコードを変更する、という発想は、私にとっては新たな視点であり、また実務的なアドバイスであった。動くコードをかききって終わり、ではなく、それを常に動かしていく。⇨個人的な具体的な課題:キーボードのアプリをReactに置き換える。
話題は冒頭の「プロフェッショナルとして責任をとる」という部分に戻るが、このテーマを具体的に自分のスキルについて鑑みた場合、Gitのより深い理解と、npmスクリプトやGulpといったタスクランナーによる処理への深い理解が、今すぐに必要だと感じた。
Gitはエンジニアの成果物に直接的に関わるシステムだし、自分の作業だけではなく、プロジェクト全体に影響を与える。コードを書く仕事の最終アプトップトは常にGitを経由してなされる。それゆえ、完全な理解が必要だ。昨日もGitの復習をしていた。継続してマスターしていく。
タスクランナーについては、webpack、npm スクリプト、Gulp 等々あるが(webpack、npmスクリプトはタスクランナーではないけれど、事実上Gulp等に変わってJSのトランスコンパイルやモジュールの管理、Sass等のプリプロセスを担当する役割を担っているという意味において。) これらを通して、最終的な成果物がつくりだされる以上、Git同様に重要だ。
Gitもタスクランナーも、実務で使う範囲ではそこまで難しくなく、ほぼ同じ作業の繰りかえしであるため問題なく使えるが、プロフェッショナルとしての責任を持てる理解が今の自分にあるかというと、ない。急務である。
(Deep Work) => Flow – A proven Path to Satisfaction
さらに話は変わって昨日読んだ、おもしろい記事。
1 thought on “雑記 Clean Coder 等”