差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:code_quality [2020/07/16 00:13] tony [Resource] |
java:code_quality [2022/11/29 23:33] tony [Resource] |
||
---|---|---|---|
行 18: | 行 18: | ||
* [[https://www.codingblocks.net/podcast/how-to-write-amazing-unit-tests/|Clean Code – How to Write Amazing Unit Tests?]] | * [[https://www.codingblocks.net/podcast/how-to-write-amazing-unit-tests/|Clean Code – How to Write Amazing Unit Tests?]] | ||
* [[https://martinfowler.com/bliki/UnitTest.html?fbclid=IwAR3ljmcfHo9zw6FipOI7vwx1C8HyZIrq20QJQgzxzMVMc5Zy40KGX-qIVUc|martinfowler-unit test]] | * [[https://martinfowler.com/bliki/UnitTest.html?fbclid=IwAR3ljmcfHo9zw6FipOI7vwx1C8HyZIrq20QJQgzxzMVMc5Zy40KGX-qIVUc|martinfowler-unit test]] | ||
+ | * [[https://tyrrrz.me/blog/unit-testing-is-overrated?fbclid=IwAR07iVReCHk265_pNhhrKN5SFMtZIz1n6PFwApqNm2YozgiE4b96Woyp_xA|Unit Testing is Overrated]] | ||
+ | * [[https://medium.com/%E5%BE%8C%E7%AB%AF%E6%96%B0%E6%89%8B%E6%9D%91/review-software-testing-anti-patterns-35c9b422dc4e|閱讀心得:軟體測試的反面模式(anti-patterns)]] | ||
+ | * [[https://enterprisecraftsmanship.com/posts/when-to-mock/|When to Mock?]] | ||
+ | * [[https://enterprisecraftsmanship.com/|Enterprise Craftsmanship]] | ||
+ | * [[https://enterprisecraftsmanship.com/posts/test-induced-design-damage-or-why-tdd-is-so-painful/|Enterprise Craftsmanship - TDD related articles]] | ||
+ | * [[http://xunitpatterns.com/index.html|XUnit Test Patterns]] | ||
+ | * [[https://www.testim.io/blog/end-to-end-testing-guide/|E2E Testing]] | ||
+ | ===== WireMock ===== | ||
+ | * [[.:wiremock:record-disconnection-behavior|Record Disconnection Behavior]] | ||
+ | * [[.:wiremock:record-events-from-webhook|Record Webhook Events]] | ||
+ | * [[.:wiremock:launch-wiremock-with-mappings-of-junit|Launch WireMock with mappings file of JUnit]] | ||
===== JVisualVM ===== | ===== JVisualVM ===== | ||
* [[.:jvisualvm:troubleshooting|Throbuleshooting]] | * [[.:jvisualvm:troubleshooting|Throbuleshooting]] | ||
- | ===== Find Bug ===== | + | ===== Code Quality Tools ===== |
- | 能夠幫你找到code內不好的'味道'與隱藏的bug,下面的內容是我邊修邊記錄的內容。友藏內心的獨白: 真的找的到bug!\\ | + | * [[java:sonarlint|SonarLint]] |
- | (*代表我認為最容易犯的錯!) | + | * [[java:findbug|FindBug]] |
- | ==== Bad Practice ==== | + | |
- | * [[.:code_quality:findbug:NM_METHOD_NAMING_CONVENTION]] | + | |
- | * [[.:code_quality:findbug:NM_CLASS_NAMING_CONVENTION]] | + | |
- | ==== Dodgy code ==== | + | |
- | * [[.:code_quality:findbug:DMI_HARDCODED_ABSOLUTE_FILENAME]] | + | |
- | * [[.:code_quality:findbug:ICAST_IDIV_CAST_TO_DOUBLE]] | + | |
- | ==== Performance ==== | + | |
- | * [[.:code_quality:findbug:BX_BOXING_IMMEDIATELY_UNBOXED]] | + | |
- | * [[.:code_quality:findbug:BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION]] | + | |
- | * [[.:code_quality:findbug:DM_NEXTINT_VIA_NEXTDOUBLE]] | + | |
- | * [[.:code_quality:findbug:DM_NUMBER_CTOR]] | + | |
- | * [[.:code_quality:findbug:DM_STRING_CTOR]] | + | |
- | * [[.:code_quality:findbug:DM_STRING_VOID_CTOR]] | + | |
- | * [[.:code_quality:findbug:SBSC_USE_STRINGBUFFER_CONCATENATION]] | + | |
- | * [[.:code_quality:findbug:WMI_WRONG_MAP_ITERATOR]] * | + | |
- | ==== EXPERIMENTAL ==== | + | |
- | * [[.:code_quality:findbug:OBL_UNSATISFIED_OBLIGATION]] * | + | |
- | ==== STYLE ==== | + | |
- | * [[.:code_quality:findbug:DLS_DEAD_LOCAL_STORE]] | + | |
- | * [[.:code_quality:findbug:RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE]] | + | |
- | ==== CORRECTNESS ==== | + | |
- | * [[.:code_quality:findbug:NP_NULL_ON_SOME_PATH]] | + | |
- | * [[.:code_quality:findbug:BIT_IOR_OF_SIGNED_BYTE]] * | + | |
- | + | ||
- | ==== MALICIOUS_CODE ==== | + | |
- | * [[.:code_quality:findbug:EI_EXPOSE_REP1]] * | + | |
- | * [[.:code_quality:findbug:EI_EXPOSE_REP2]] * | + | |
==== Reference ==== | ==== Reference ==== | ||
- [[http://findbugs.sourceforge.net/|FindBugs官方網站]] | - [[http://findbugs.sourceforge.net/|FindBugs官方網站]] |