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)