ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

車輪の再実装時の注意点

自分の書いたソースには過去の自分の見識しかなく、先人の書いたソースには先人の見識がある - 神様なんて信じない僕らのために経由、
車輪の再実装 - Life like a clown

1. 「既に誰かが実装しているはず」と言う疑いを持つ事
「車輪の再実装」を行うときに最も重要なのは,自分が車輪の再実装をしている事をきちんと認識している事だと思います.

同意。自分の場合、「自分が思いついた機能の8割は、世界のどこかで誰かが既に実装済。」というのを念頭に置いている。そして「残り2割」をどうしても妥協出来なくなった場合、再実装したりする。YakiBikiがそのケースだった。

「既に発明/実装済。」と言うことを知ってないと、「再」発明/実装なのかどうかすら自覚出来ないので、それは結構負担が高いなと。真似したいお手本が無い、そもそも真似なのかどうかすら知らない、というのはさすがに大変だと思うので、折角インターネット検索エンジンがあるのだからまずは探してみましょうよ、みたいな。

2. 「既存の実装には何かしらの意味があるはず」という意識を持つ事
プログラミングを理解する上でまずい事の一つに,自分の理解の及ばないコードに遭遇した際にそのコードを「ダメなもの」と決めつけてしまう,と言うものがあります.

自分も・・・最初の頃は、「俺が書いたコードの方がエレガントだぜ〜〜ヒャーハハ!!」となっていた時期があった。しかしやがて、

「なんでこんな訳の分からない実装になってるんだ・・・こうやった方が絶対に簡潔に記述できるはずなのに」と言う疑問にはたびたび遭遇します.しかし,多くの場合,必ずそれには理由が存在します.何かしらの別の問題が存在しており,それら全てを考慮した結果として,そう言う「めんどくさい」実装になっています.

ということを身をもって学び、謙虚さと敬意を払うよう心がけるようになった。(まぁ中には・・・「さすがにどんなに譲歩しても、これ、アウトでしょ?」と言いたくなるコードもありましたが・・・)

スティール・ボール・ラン」というJOJOシリーズの漫画でお気に入りの台詞を使うなら「レッスン4、敬意を払え」。
既に動いているシステムのソースコードで悩ましげな箇所に遭遇した時は特に。どんなに??なコードでも、曲がりなりにも動いている・使われている以上、誰かが苦労して開発したコードであることは間違いないのだから、敬意を払ってソースコードと付き合いたいものである。