Clean Code:改善(p.59)

 "Clean Code"*1に掲載されているコード例を、自分なりに修正してみます。

 "Clean Code"に掲載されている例はこうです。

String listItemContent = match.group(3).trim();
// the trim is real important.  It removes the starting
// spaces that could cause the item to be recognized
// as another list.
new ListItemWidget(this, listItemContent, this.level + 1);
return buildList(text.substring(match.end()))l;

 次のような修正を提案します。

String toBeRecognizedAsAnotherList(String s) {
 return removeStartingSpaces(s);
}
String removeStartingSpaces(String s) {
 return s.trim();
}
String listItemContent = toBeRecognizedAsAnotherList(match.group(3));
new ListItemWidget(this, listItemContent, this.level + 1);
return buildList(text.substring(match.end()))l;

 コメントは関数抽出を使えば追い出せる、というだけのことですが。
 (日本人向けのコードなら、日本語コメントも必要でしょうね。)

*1:

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

Clean Code アジャイルソフトウェア達人の技

Clean Code アジャイルソフトウェア達人の技