狠狠撸

狠狠撸Share a Scribd company logo
可読性の高い
プログラムを書くために
株式会社 AMG Solution
堀部 光一
?2016 AMG Solution inc. 1
?2016 AMG Solution inc. 2
自己紹介
氏名:堀部 光一
年齢:1983年生まれ(33歳)
好物:野球?ビール
経歴:
2005年4月 某ソフトウェア開発会社に入社
2011年6月 同会社を退社
〃 株式会社AMG Solutionに入社
?2016 AMG Solution inc. 3
NCD様との関わり
2013年2月 ~ 2015年7月
海運業向けシステム開発プロジェクト
2015年9月 ~ 現在
鉄鋼商社基幹システム開発プロジェクト
?2016 AMG Solution inc. 4
可読性とは
?2016 AMG Solution inc. 5
可読性とは
読み取れる性質、
読み取れる度合などを表す言葉。
(引用:Wikipedia)
?2016 AMG Solution inc. 6
プログラムの可読性とは
?2016 AMG Solution inc. 7
プログラムの可読性とは
人間がソースコードのコメント以外の部分を読んだ
ときの、その目的や処理の流れの理解しやすさを指
す。
可読性の低いコードは、バグを生みやすく、重複
コードによる非効率を生みやすい。
(引用:Wikipedia)
?2016 AMG Solution inc. 8
Apache Commons
?2016 AMG Solution inc. 9
例題その1
if (str == null || str.equals("")) {
System.out.println("true");
}
?2016 AMG Solution inc. 10
例題その1
if (str == null || str.equals("")) {
System.out.println("true");
}
↓
if (StringUtils.isEmpty(str)) {
System.out.println("true");
}
?2016 AMG Solution inc. 11
例題その2
if (str != null && !str.equals("")) {
System.out.println("true");
}
?2016 AMG Solution inc. 12
例題その2
if (str != null && !str.equals("")) {
System.out.println("true");
}
↓
if (StringUtils.isNotEmpty(str)) {
System.out.println("true");
}
?2016 AMG Solution inc. 13
例題その3
if (str1 != null && str1.equals(str2)) {
System.out.println("true");
}
?2016 AMG Solution inc. 14
例題その3
if (str1 != null && str1.equals(str2)) {
System.out.println("true");
}
↓
if (StringUtils.equals(str1, str2)) {
System.out.println("true");
}
?2016 AMG Solution inc. 15
使っても使わなくても結果は同じ
?2016 AMG Solution inc. 16
機能拡張がしやすい
?2016 AMG Solution inc. 17
パフォーマンスが向上する
?2016 AMG Solution inc. 18
開発コストを短縮できる
?2016 AMG Solution inc. 19
ソースコードは芸術品
?2016 AMG Solution inc. 20
ご清聴ありがとうございまし
た

More Related Content

可読性の高いプログラムを书くために

  • 2. ?2016 AMG Solution inc. 2 自己紹介 氏名:堀部 光一 年齢:1983年生まれ(33歳) 好物:野球?ビール 経歴: 2005年4月 某ソフトウェア開発会社に入社 2011年6月 同会社を退社 〃 株式会社AMG Solutionに入社
  • 3. ?2016 AMG Solution inc. 3 NCD様との関わり 2013年2月 ~ 2015年7月 海運業向けシステム開発プロジェクト 2015年9月 ~ 現在 鉄鋼商社基幹システム開発プロジェクト
  • 4. ?2016 AMG Solution inc. 4 可読性とは
  • 5. ?2016 AMG Solution inc. 5 可読性とは 読み取れる性質、 読み取れる度合などを表す言葉。 (引用:Wikipedia)
  • 6. ?2016 AMG Solution inc. 6 プログラムの可読性とは
  • 7. ?2016 AMG Solution inc. 7 プログラムの可読性とは 人間がソースコードのコメント以外の部分を読んだ ときの、その目的や処理の流れの理解しやすさを指 す。 可読性の低いコードは、バグを生みやすく、重複 コードによる非効率を生みやすい。 (引用:Wikipedia)
  • 8. ?2016 AMG Solution inc. 8 Apache Commons
  • 9. ?2016 AMG Solution inc. 9 例題その1 if (str == null || str.equals("")) { System.out.println("true"); }
  • 10. ?2016 AMG Solution inc. 10 例題その1 if (str == null || str.equals("")) { System.out.println("true"); } ↓ if (StringUtils.isEmpty(str)) { System.out.println("true"); }
  • 11. ?2016 AMG Solution inc. 11 例題その2 if (str != null && !str.equals("")) { System.out.println("true"); }
  • 12. ?2016 AMG Solution inc. 12 例題その2 if (str != null && !str.equals("")) { System.out.println("true"); } ↓ if (StringUtils.isNotEmpty(str)) { System.out.println("true"); }
  • 13. ?2016 AMG Solution inc. 13 例題その3 if (str1 != null && str1.equals(str2)) { System.out.println("true"); }
  • 14. ?2016 AMG Solution inc. 14 例題その3 if (str1 != null && str1.equals(str2)) { System.out.println("true"); } ↓ if (StringUtils.equals(str1, str2)) { System.out.println("true"); }
  • 15. ?2016 AMG Solution inc. 15 使っても使わなくても結果は同じ
  • 16. ?2016 AMG Solution inc. 16 機能拡張がしやすい
  • 17. ?2016 AMG Solution inc. 17 パフォーマンスが向上する
  • 18. ?2016 AMG Solution inc. 18 開発コストを短縮できる
  • 19. ?2016 AMG Solution inc. 19 ソースコードは芸術品
  • 20. ?2016 AMG Solution inc. 20 ご清聴ありがとうございまし た

Editor's Notes

  • #8: では可読性の高いプログラムとはどういうものか? 今回は可読性を高めるために有効とされるライブラリを紹介したいと思います。
  • #9: このライブラリ自体は新しいものではなく昔からあるものなのでご存知の方もいらっしゃるかもしれません。 ただ可読性を高める上では非常に有効なライブラリとされています。
  • #10: 単一项目の苍耻濒濒チェック
  • #11: 単一项目の苍耻濒濒チェック nullまたは空文字のときtrueを返す オーソドックスですがおそらく一番よく使うクラスになる。
  • #12: 単一の苍耻濒濒チェックの否定
  • #13: 単一の苍耻濒濒チェックの否定 nullまたは空文字ではないときtrueを返す
  • #14: 変数の比较
  • #15: 変数と定数の比較 nullを考慮して文字列を比較するので、Exception発生のリスクも防げるメリットがある。
  • #16: では、なぜ可読性が大事か、一般的な理由としては
  • #18: 无駄なコードをなくすことで
  • #20: 今後もきれいなコードは意識して書いていこうと思っています。 これを機に1人でも多くの方が、可読性を意識していただければ幸いです。