@@ -11,6 +11,54 @@ suggesting additions.
1111This article was originally posted on
1212[ my blog] ( https://www.seancassidy.me/better-java.html ) .
1313
14+ ## Table Of Contents
15+
16+ * [ Style] ( #style )
17+ * [ Structs] ( #structs )
18+ * [ The Builder Pattern] ( #the-builder-pattern )
19+ * [ Immutable Object Generation] ( #immutable-object-generation )
20+ * [ Exceptions] ( #exceptions )
21+ * [ Dependency injection] ( #dependency-injection )
22+ * [ Avoid Nulls] ( #avoid-nulls )
23+ * [ Immutable-by-default] ( #immutable-by-default )
24+ * [ Avoid lots of Util classes] ( #avoid-lots-of-util-classes )
25+ * [ Formatting] ( #formatting )
26+ * [ Javadoc] ( #javadoc )
27+ * [ Streams] ( #streams )
28+ * [ Deploying] ( #deploying )
29+ * [ Frameworks] ( #frameworks )
30+ * [ Maven] ( #maven )
31+ * [ Dependency Convergence] ( #dependency-convergence )
32+ * [ Continuous Integration] ( #continuous-integration )
33+ * [ Maven repository] ( #maven-repository )
34+ * [ Configuration management] ( #configuration-management )
35+ * [ Libraries] ( #libraries )
36+ * [ Missing Features] ( #missing-features )
37+ * [ Apache Commons] ( #apache-commons )
38+ * [ Guava] ( #guava )
39+ * [ Gson] ( #gson )
40+ * [ Java Tuples] ( #java-tuples )
41+ * [ Joda-Time] ( #joda-time )
42+ * [ Lombok] ( #lombok )
43+ * [ Play framework] ( #play-framework )
44+ * [ SLF4J] ( #slf4j )
45+ * [ jOOQ] ( #jooq )
46+ * [ Testing] ( #testing )
47+ * [ jUnit 4] ( #junit-4 )
48+ * [ jMock] ( #jmock )
49+ * [ AssertJ] ( #assertj )
50+ * [ Tools] ( #tools )
51+ * [ IntelliJ IDEA] ( #intellij-idea )
52+ * [ Chronon] ( #chronon )
53+ * [ JRebel] ( #jrebel )
54+ * [ The Checker Framework] ( #the-checker-framework )
55+ * [ Code Quality] ( #code-quality )
56+ * [ Eclipse Memory Analyzer] ( #eclipse-memory-analyzer )
57+ * [ Resources] ( #resources )
58+ * [ Books] ( #books )
59+ * [ Podcasts] ( #podcasts )
60+ * [ Videos] ( #videos )
61+
1462## Style
1563
1664Traditionally, Java was programmed in a very verbose enterprise JavaBean style.
@@ -645,6 +693,8 @@ Testing is critical to your software. These packages help make it easier.
645693
646694#### jUnit 4
647695
696+ **Good alternative**: [TestNG][testng].
697+
648698[jUnit][junit] needs no introduction. It's the standard tool for unit testing
649699in Java.
650700
@@ -811,10 +861,14 @@ Resources to help you become a Java master.
811861* [The Java Posse](http:// www.javaposse.com/) (*discontinued*)
812862* [vJUG](http:// virtualjug.com/)
813863* [Les Cast Codeurs](https:// lescastcodeurs.com/) (*French*)
864+ * [Java Pub House](http:// www.javapubhouse.com/)
865+ * [Java Off Heap](http:// www.javaoffheap.com/)
814866
815867### Videos
816868
817869* [Effective Java - Still Effective After All These Years](https:// www.youtube.com/watch?v=V1vQf4qyMXg)
870+ * [InfoQ](http:// www.infoq.com/) - see especially [presentations](http://www.infoq.com/java/presentations/) and [interviews](http://www.infoq.com/java/interviews/)
871+ * [Parleys](https:// www.parleys.com/)
818872
819873[immutablemap]: http:// docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ImmutableMap.html
820874[immutablelist]: http:// docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ImmutableList.html
@@ -860,6 +914,7 @@ Resources to help you become a Java master.
860914[slf4j]: http:// www.slf4j.org/
861915[slf4jmanual]: http:// www.slf4j.org/manual.html
862916[junit]: http:// junit.org/
917+ [testng]: http:// testng.org
863918[junitparam]: https:// github.com/junit-team/junit/wiki/Parameterized-tests
864919[junitrules]: https:// github.com/junit-team/junit/wiki/Rules
865920[junittheories]: https:// github.com/junit-team/junit/wiki/Theories
0 commit comments