差異處
這裏顯示兩個版本的差異處。
java:code_quality [2020/07/16 00:13] tony [Resource] |
java:code_quality [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java findbugs junit}} | ||
- | ====== Quality ====== | ||
- | 與Code Quality相關的tool與文章都集中在這。 | ||
- | ===== JUnit ===== | ||
- | * [[.:junit:powermock|PowerMock / PowerMockito / Mockito]] | ||
- | * [[.:junit:tech:capture_systemout|How to verify the System.out.print?]] | ||
- | * [[.:junit:tech:ignore|Conditionally ignore tests]] | ||
- | * [[.:junit:tech:capture_log4j_output|How to verify the Log4j output?]] | ||
- | * [[java:junit4:rules:temporaryfolder|JUnit4 : TemporaryFolder Rule]] | ||
- | ==== Resource ==== | ||
- | * [[http://www.ibm.com/developerworks/cn/java/j-lo-junit-installanywhere/index.html|Test InstallAnywhere By JUnit]] | ||
- | * [[http://www.appperfect.com/support/java-coding-rules/junit.html|JUnit coding rule]] | ||
- | * [[http://junit.sourceforge.net/doc/cookstour/cookstour.htm|cooks tour]] | ||
- | * [[http://stackoverflow.com/questions/5147187/ignore-assertion-failure-in-a-testcase-junit|Error Collector]] 把assertion中的錯誤都收集起來 | ||
- | * [[https://jazz.net/help-dev/clm/index.jsp?topic=%2Fcom.ibm.rational.test.qm.doc%2Ftopics%2Fc_testsuite_work_flow.html|IBM Rational - testsuite work flow]] 講述testsuite的建置與測試規劃 | ||
- | * [[http://teddy-chen-tw.blogspot.tw/2013/04/eclemmaeclipse-java.html|Eclipse Code Coverage Plugin - EclEmma(JaCoco)]] | ||
- | * [[https://stackoverflow.com/questions/473401/get-name-of-currently-executing-test-in-junit-4|在console顯示testcase名稱的方法]] | ||
- | * [[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]] | ||
- | ===== JVisualVM ===== | ||
- | * [[.:jvisualvm:troubleshooting|Throbuleshooting]] | ||
- | ===== Find Bug ===== | ||
- | 能夠幫你找到code內不好的'味道'與隱藏的bug,下面的內容是我邊修邊記錄的內容。友藏內心的獨白: 真的找的到bug!\\ | ||
- | (*代表我認為最容易犯的錯!) | ||
- | ==== 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 ==== | ||
- | - [[http://findbugs.sourceforge.net/|FindBugs官方網站]] | ||
- | - [[http://qa.taobao.com/?p=4206|Code review工具FindBugs介绍]] | ||
- | ===== Selenium ===== | ||
- | * [[http://www.seleniumhq.org/docs/appendix_migrating_from_rc_to_webdriver.jsp#migrating-to-webdriver-reference|Migrating from RC to WebDriver]] |