fc2ブログ

CleanCodeからのコードの匂いカタログ?

コードの不吉な匂いのカタログ?

リファクタリング指針 クイックリファレンス | Happy My Life

コードの不吉な匂いのカタログがクイックリファレンスという形でpdfにまとめられている。のを紹介されています。
Smells to Refactorings Quick Reference Guide
匂いのカタログで匂いに対応する対処法は、ただのインデクスになってるので実際に同コード修正するべきかはリファクタリングに通じてないとむずかしそう。


Recent codes - RefactorMyCode.com

ここは、みんな”リファクタリグ”してぇなサイト。なんか理念は良いと思うんだけど、ざっと見た感じあんまり参考になりそうなリファクタリングがなさそう。


The Law of Demeter Is Not A Dot Counting Exercise

デメテルの法則において直接関連があるオブジェクトだけを呼ぶべきというのに反して、ドットで複数のオブジェクトを経由しての呼び出しは単にドットの数が問題という訳じゃなくて変更に対する耐性の意味からやめた方が良いんだって話...


Related:

::memolet | Tell, Don't Ask

コードの書き方実例

5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours (2009-07-02)

手ぬぐいと納税者は絞れるだけ絞れと行政官は言った - L'eclat des jours (2009-07-03)
コードは、こんな風に書いておいた方が後々楽ですよというお話。デメテルの法則にも似たようなのあるのでその一例として参考になる。


References:

::memolet | Tell, Don't Ask
::memolet | OOするにはまずグルーピングってこと?

関数脳じゃないので参考に...

第7回 関数脳のつくり方 First Season:ITpro

全然関数脳じゃないので、後で読む


プログラマの思索: 関数脳のつくり方

上の記事の情報ソース記事。


例外処理 Roundup

とあるコンサルタントのつぶやき : .NETの例外処理 Part.1
とあるコンサルタントのつぶやき : .NETの例外処理 Part.2
とあるコンサルタントのつぶやき : .NETの例外処理 Part.3
とあるコンサルタントのつぶやき : .NETの例外処理 Part.4
とあるコンサルタントのつぶやき : .NETとJavaの例外処理の違い
とあるコンサルタントのつぶやき : エラーチェックの体系的な分類方法

この記事を読む上で前提となる用語
BC部とはBusiness logic Classの略
業務エラー、業務フローで想定されたエラー
アプリケーション/システムエラーとは、業務フローチャートからはみ出た異常事態

C#と諸々 業務エラーの表現方法
C#と諸々 業務エラーの表現方法の考察
C#と諸々 業務エラーの表現方法 再び
C#と諸々 久々に業務エラーについて

とあるコンサルタントさんとは異なるポリシーからの例外の考察。


例外処理に関する良記事紹介

例外についての議論についての情報元
この記事は、”C#と諸々”の記事も紹介されています。その情報元でもあります。


Related:

::memolet | .NETにおける例外処理
::memolet | 例外のガイドライン

if文怖いだって...でもいい感じ

if 文怖い
if 文怖い(その2)

if文使わない書き方がきれいなので参考に


Tell, Don't Ask

The Pragmatic Bookshelf | Tell, Don't Ask

「問い合わせるな、命令しろ」の解説記事ソース。

  • ただのデータ
  • 不変性が不十分
  • デメテルの法則
  • 問い合わせと命令の分離

関連:

::memolet | OOするにはまずグルーピングってこと?

契約による事前条件・事後条件とか

CppUnitBook Index Page

ここに「CppUnitによるXP‐eXtreme Programming‐実践テスト技法」の「下書き原稿」として全てが公開されている。 事前条件、事後条件を調べてて辿りついた。 [1.3] テスト駆動型開発って何?
ここにあった。


契約プログラミング - プログラミング言語 D 2.0

事前条件・事後条件などからなる契約という概念がD言語には言語に組み込み済。


C++ Labyrinth | 契約による設計

契約とか事前条件・事後条件に関する原典に触れた記事かな。


OOするにはまずグルーピングってこと?

OOコード養成ギブス - rants

意味のあるグループにまとめるのが重要。MECEとかロジックツリーの考 え方を適用できないかな?
あれもひとつのレベルに7つくらいまでの 要素にする制限あったり、グループ化に際してはMECEにするとかあるの で。
はてなブックマーク - OOコード養成ギブス - rants


コードコンプリートのチェックリスト抜粋 - ■ - memo

一方で、こんなチェックリストも。さすがコードコンプリート、重量級。