読書ノート 2022

syakoo posted on
(Updated at: )
(Edited)
リファクタリング(第 2 版)
リファクタリング(第 2 版)
M. Fowler (著)2019
Amazon

一年ほど前に購入して1章だけ読んで積読化していたのだが、リファクタリングをしていると宇宙猫になったので引っ張り出して 2, 3 章とそれ以外はパラっと読んだ。

リファクタリングは今まで自分の感覚に頼っていたのだが、状況と人によって良いコードって変わってしまうため、どれが最善なのかフワフワしていた。 この本は特に 2 章「リファクタリングの原則」でリファクタリングの定義から理論寄りな話をしているため、個人的にはかなり読みやすく感じた。

2 章には勉強になった点がかなりあったが、特に、リファクタリングは細かいステップでする (リファクタリングだけで大きな時間は割かずに普段のコードを書きながら細かく修正していく) ということ、 機能追加をしているのかリファクタリングをしているのかはハッキリさせるが、コミットを必ずしも分ければいいわけではないということが参考になった。

また、個人的に競技プログラミングをしているため、パフォーマンスチューニングに言及していたのも面白かった。

リファクタリングリストについては軽くしか読めていないので、時間に余裕ができたら読みたい。

VOCABULARIST
VOCABULARIST
ATSU (西方篤敬)2019

前から英語の勉強はしたかったのだが、具体的な目標がなかったり金銭的な理由によって買っていなかった ATSU さんの本を全部買った。

この本は英単語の勉強方法について、英語勉強における英単語学習の意義から説明されている。 ATSU さんが書いている英単語帳「Distinction」に込められた工夫がよくわかり、この英単語帳を効率的に使えるようになった気がしている 笑

一番勉強になったのが、英単語はサイクルを回すことが大事であり、一つ一つの単語に時間をかけるのは非効率であるということ。 自分は一つの単語の例文とかしっかり読んだり時間をかけていたので、これから実践していこうかと思う。

良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
仙塲 大也2022
Amazon

設計に興味があるので、入門として読んでみた。

全エンジニア読め

と思うほど非常に勉強になったし面白かった。個人 Notion にまとめながら読んでいたが 2 日で読み終えてしまった。

内容としてはざっくりだが、いわゆる "技術的負債" に対してオブジェクト指向としての解決策について Java でまとめられているといった感じ。 オブジェクト指向というのが非常に大きくてまあほとんど全てクラスを用いて解決している。(クラスの正しい使い方的な)

オブジェクト指向使わないし、ほなら自分関係ないかーと思っているあなた。 自分もそうでした。 が、ここまでかと言うくらいクラスの粒度の小ささなのかというオブジェクト指向に対する理解も深まったし、 そもそも解決策が違うだけで、プロジェクトが抱える問題点や解決の考え方は同じだと思う。

また、15 章以降は設計についての意義や考え方について説明されており、プロジェクトをリードするようになったらもう一度深く読みたいと思った。

大満足 😋

Source Code Analysis -- An Overview
Source Code Analysis -- An Overview
R. Kirkov, G. Agre2010

設計についてネットサーフィンしていたら、source code analysis という分野の論文があることを知り、とりあえずこれを読んでみた。

この論文ではコードの静的解析についての全体像が紹介されているが、この分野 (デザイン設計) についてはこの前入門したばかりなので専門的な用語とか理解できていないところがある。

正直、デザインパターンによる静的解析がどんなものなのかわからないので、個人的には微妙に感じている面があるが、 コードの構造を把握するのは大事だと思うので、時間ができたらフロント用の構造解析ツールを作ってみたい。

プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
鈴木 僚太2022

今まで自分はわからなかったら MDN とかを漁るみたいなスタンスでインプットをしてきたので、体系的に勉強したいと思い読んでみた。 自分としては、深く関わってこなかった class や Promise の静的メソッドなどの仕様や、文法などの言葉を知ることができ、とても勉強になった。

が、正直ターゲットが正しいのかが微妙な気がしている。 本書の「はじめに」では、

想定読者としては「変数」や「関数」といった基本的な概念はすでに知っている人を想定し、...

と書かれているが、アルゴリズムイントロダクションのような文章量のこの本を自分が TypeScript の入門書として手に取っていたら、挫折している自信がある。 Springer の数学入門書かなって思いながら読んでいた 🙄 とはいえ、深いだけで決して広くはないので確かに入門ではあるかーとか、、、言葉って難しい。

自分はターゲットとしてドンピシャだったのではというくらいに、スムーズに体系的に知識を得られたので個人的には大満足だった。 こんな体系的な本を書くことができることには本当に頭が上がらない。自分は一生なれる気がしない。

Related Posts

Not Found X(