らんだむな記憶

blogというものを体験してみようか!的なー

リーダブルコード

バイブル - らんだむな記憶で触れたので読んだ。なかなか良い本。まともなプログラマに囲まれていたら10年もあればすべて指摘されるような内容が並んでいる気がする。ほとんどの内容は3年もあればcommit logのどこかでお目にかかりそうなものである。逆にダメだなぁ〜と思うプログラマが多い時には何年かかってもそういう指摘も聞かないし、バグは減らないし、commit logの情報も「色々変更」程度のままという気がする。なんかそういうことが自分の中で明確化できただけでも良かった。自分の周りがまともかは、一緒に仕事してみて“生きたリーダブルコードだな”と思えるかで判断しても悪くないかもしれない。その逆は「動いたらいいじゃないか」ということだ。

const int MAX_RSS_SUBSCRIPTIONS = 1000;

については「BASELESS_XXX」という定数名がどうだろうか?と教わったことがある。そして内容は2の冪だ。適当な値感が出るし、値を見ると大きいから、“合理的な限界値”として都合上設定したという感じが出るというわけだ。
本が薄い分、他のトピックへの言及が犠牲になっているのは気になるが仕方ない。特にテストは犠牲になっている。「動いているコードは触るな」という概念があるが、動いているが汚いから書き換えようとか不要なものを削除だ、とする場合、テストを書かずに実行してしまうかもしれない。“リファクタリングはテストを書いてから”というのが抜けてしまっているのが気にならなくはない。

あわせて読みたい」もなかなか興味深い。

「Joel on Software」の中からは以下の2つが必読のようだ:

ジョエルテストは悪くないテストだとは思う。いままでで一番良かったと思うチームでもすべては満たせなかった。それ以外のチームでは果たして幾つ満たせていただろう。これをすべて満たせているということはよほど良い環境にいるのだろう。逆にほとんど満たせていないなら抜け出すことを検討しても良いのかもしれない。チームメンバが意識していれば、2/3くらいは自然と満たせるからだ。逆にほとんど満たせていないということはチームがやる気がない空気に満ちているということだ。そのような場合に何をどうしても変わるような気がしない。
「あなたが絶対すべきではないこと PART I」は2000年までのいわゆる“第一次ブラウザ戦争”の話だ。その後にMozilla Application Suiteから切り出されたFirefoxが30%程度のシェアまで回復した“第二次ブラウザ戦争”は興味深く、最終的にSONYPlayStationのように横からやってきたGoogle Chromeが市場を持って行っているのも面白い。
プログラムをスクラッチから書き直すが絶対にダメなことなのかは分からない。Introducing FontLab VI — ATypIの「FontLab VI」はまさにそれをしたようだ。RoboFontやGlyphsといった競合?がいる中で実行したことになる。UI/UXと技術を刷新するために実施したようだ。それが良かったかどうかとかは分からないが、抜本的に変更する場合にはリファクタリングしてからの機能追加では間に合わないかもしれないし、時には教義に反する判断をするという決断が重要な場合もあるのかもしれない。
まぁ、そういう世界観にはタッチしたことはないので動向を見守る程度のことしかできない。