タグ

リファクタリングに関するprisiraのブックマーク (3)

  • 若手開発者の後悔 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) これはある仕事熱心な若手開発者のほぼ実話です。2004年の後半、この若手開発者は小さな会社で働き始めました。条件は全て彼の望みどおりでした。給料はいいし、扱うのは彼の得意とするプログラミング言語、アプローチの複雑性、モデリングのアーキテキチャでした。 彼にとって今回の会社が初めての職場ではありませんでした。しかし、ここでの最初のプロジェクトは結果的に 問題だらけ に終わりました。当時、この若手開発者は、機能は絶対に変わらないものだと思っていました。しかし、それは間違いでした。機能が変更されるたびに完全なリファクタリングを行わなければなりませんし、バグを引き起こして膨大な時間を無駄にしてしまいます。彼は、テストを書くといった実直な方法も試してみましたが、書いたテストはメンテナンスが必要な上、書くのに時間

    若手開発者の後悔 | POSTD
  • - 不吉な匂い

    不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。

  • コードの臭い・落穂拾い・Clean Code編 - Strategic Choice

    書籍「Clean Code」の「第17章 においと経験則」で紹介されている「コードの臭い」をまとめます。書籍では「におい」「経験則」が入り混じっているので、エントリでは、漏れなく「におい」観点に統一してまとめます。それゆえ、エントリの題は(エントリの内容にあわせて)、書籍の各節題から(わりと大胆に)変更しています*1。一覧コメント 別システムのコメント退化コメント冗長なコメント記述不足のコメントコメントアウトされたコード環境 複数ステップのビルド複数ステップのテスト関数 多すぎる引数出力引数フラグ引数死んだ関数一般 複数言語未実装不正確な境界値動作安全軽視重複抽象レベル誤認子離れしない親情報過多デッドコード垂直分離不整合雑然人為的な結合機能の羨望セレクタ引数不明瞭な意図お門違い不適切なstatic説明されない式名実不一致アルゴリズム未理解論理的依存性条件分岐志向規約無視マジックナンバー不

    prisira
    prisira 2015/06/10
    糞コードの特徴が一覧になっていて便利。どう改善するかまで書いてあるので人に読ませるのに最適。
  • 1