katapedia

Java

システム開発の鉄板構成

https://geechs-magazine.com/tag/tech/20170517

技術ノウハウ

NTTデータ http://terasolunaorg.github.io/

テストツール

TestNG

テストクラスを無効化する

@Test(enabled=false)

をクラスの頭に設置

@Test(enabled=false)
public class DBConfigTest {

}
</code>

スタイルチェック

Checkstyle

http://blog-ja.sideci.com/entry/2017/12/27/checkstyle-and-oss

ビルドツール

gradle

proxy設定

~/.gradle/gradle.properties か プロジェクトルート

systemProp.http.proxyHost=ip
systemProp.http.proxyPort=port
systemProp.http.nonProxyHosts=192.168.1.*|192.168.2.*|localhost
systemProp.https.proxyHost=ip
systemProp.https.proxyPort=port
systemProp.https.nonProxyHosts=192.168.1.*|192.168.2.*|localhost

有名なプロジェクト

プロジェクト名 プロジェクト概要 checkstyle.xmlの有無 ビルドツールへの組込 コーディング規約
ReactiveX/RxJava 非同期プログラミング用API gradle 比較的少数のルールのみ採用
iluwatar/java-design-patterns デザインパターンのJavaによる実装 maven Google Java Styleベース
elastic/elasticsearch 分散検索エンジン gradle 比較的少数のルールのみ採用
square/retrofit 型安全なHTTPクライアントライブラリ maven Google Java Styleベース
square/okhttp Android向けHTTPクライアントライブラリ maven Google Java Styleベース
google/guava Google Core Libraries for Java - - Google Java Style
PhilJay/MPAndroidChart Android向けグラフライブラリ - -  
JetBrains/kotlin プログラミング言語 - -  
JakeWharton/butterknife Android向けView Injectionライブラリ gradle Google Java Styleベース
bumptech/glide Android向けメディア管理ライブラリ gradle 独自ルールで多数のチェックを実行

SpringFramework

SpringBoot

Tips

Findbugsでエラーになるコード

/**
* 入力された文字列を標準出力に出力する.
* @param input 入力文字列
* @throws IllegalArgumentException 入力が null の場合
*/
public void printInput(String input) {
if (input == null) {
new IllegalArgumentException("input must not be null");
}
System.out.println("Input is " + input);
}