代码质量管理 开源平台SonarQube Python v1.6发布

jopen 3年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/908b93970815c1d19fef55509d3aadd7.jpg" /></p>    <p>Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。</p>    <h2>更新日志</h2>    <h3>Bug 修复</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958992315707723477">SONARPY-101</a>] - Analysis breaks when importing a coverage report containing windows paths and zero coverage switched on</li>     <li>[<a href="/misc/goto?guid=4958992315801164897">SONARPY-122</a>] - Parsing error when using "*" in function parameter list</li>     <li>[<a href="/misc/goto?guid=4958992315905700291">SONARPY-138</a>] - NPE in NeedlessPassCheck when "pass" is not nested</li>     <li>[<a href="/misc/goto?guid=4958992315986648842">SONARPY-150</a>] - FP ExitHasBadArgumentsCheck: parameter with "*"</li>    </ul>    <h3>功能改进</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958992316078486714">SONARPY-124</a>] - Add a warning in the log when coverage report is not found</li>     <li>[<a href="/misc/goto?guid=4958992316173220883">SONARPY-125</a>] - Handle absolute path for coverage report path properties</li>     <li>[<a href="/misc/goto?guid=4958992316273377237">SONARPY-130</a>] - False positive S2325: method raises NotImplementedError</li>     <li>[<a href="/misc/goto?guid=4958992316362447035">SONARPY-134</a>] - Change the default mode for unit test result import</li>     <li>[<a href="/misc/goto?guid=4958992316453601392">SONARPY-136</a>] - update issueManagement url in POM</li>     <li>[<a href="/misc/goto?guid=4958992316554804843">SONARPY-137</a>] - update description in POM</li>     <li>[<a href="/misc/goto?guid=4958992316649412389">SONARPY-140</a>] - Tune "Sonar way" quality profile</li>     <li>[<a href="/misc/goto?guid=4958992316733028507">SONARPY-149</a>] - Do not save 0 for ncloc_data and comment_lines_data metrics</li>     <li>[<a href="/misc/goto?guid=4958992316825857778">SONARPY-154</a>] - False Positive on rules considering nested class properties</li>     <li>[<a href="/misc/goto?guid=4958992316922833983">SONARPY-156</a>] - Improve MethodShouldBeStaticCheck: ignore built-in methods</li>     <li>[<a href="/misc/goto?guid=4958992317018756784">SONARPY-157</a>] - Update FunctionComplexity parameter default value to 20</li>     <li>[<a href="/misc/goto?guid=4958992317107533497">SONARPY-158</a>] - Update NestedControlFlowDepthCheck parameter default value to 4</li>     <li>[<a href="/misc/goto?guid=4958992317208666463">SONARPY-159</a>] - Update FunctionName and MethodName parameter default value to not limit max name length</li>     <li>[<a href="/misc/goto?guid=4958992317304612475">SONARPY-171</a>] - Group plugin properties into subcategories</li>    </ul>    <h3>新特性</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958992317385676306">SONARPY-129</a>] - Support NOSONAR to ignore specific issues on the same line</li>     <li>[<a href="/misc/goto?guid=4958992317483513825">SONARPY-142</a>] - Migrate plugin on SQ 5.6 LTS</li>     <li>[<a href="/misc/goto?guid=4958992317570111463">SONARPY-143</a>] - Support issues with precise location</li>     <li>[<a href="/misc/goto?guid=4958992317676091670">SONARPY-144</a>] - Raise issues with precise location for comments-related rules</li>     <li>[<a href="/misc/goto?guid=4958992317762636545">SONARPY-145</a>] - Raise issues with precise location for flow-related rules</li>     <li>[<a href="/misc/goto?guid=4958992317858704591">SONARPY-146</a>] - Raise issues with precise location for class- and function-related rules</li>     <li>[<a href="/misc/goto?guid=4958992317950073029">SONARPY-147</a>] - Raise issues with precise location for bad-usage rules</li>     <li>[<a href="/misc/goto?guid=4958992318038203625">SONARPY-148</a>] - Support new Python <=3.6 syntax</li>     <li>[<a href="/misc/goto?guid=4958992318133016270">SONARPY-163</a>] - Highlight number literals</li>     <li>[<a href="/misc/goto?guid=4958992318226584274">SONARPY-164</a>] - Highlight python docstring</li>    </ul>    <h3>Task</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958992318320195912">SONARPY-103</a>] - Migrate text colorizing to use Highlightable interface</li>     <li>[<a href="/misc/goto?guid=4958992318407165702">SONARPY-127</a>] - Update maven groupId</li>     <li>[<a href="/misc/goto?guid=4958992318503642234">SONARPY-151</a>] - Deprecate rule LongIntegerWithLowercaseSuffixUsage</li>     <li>[<a href="/misc/goto?guid=4958992318597270202">SONARPY-153</a>] - Remove BackslashInStringCheck from Sonar Way profile</li>     <li>[<a href="/misc/goto?guid=4958992318686922423">SONARPY-160</a>] - Drop SQALE characteristics</li>     <li>[<a href="/misc/goto?guid=4958992318781933150">SONARPY-162</a>] - Migrate to Java8</li>     <li>[<a href="/misc/goto?guid=4958992318883818228">SONARPY-165</a>] - Drop commons rules</li>    </ul>    <h3>Sub-task</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958992318976569199">SONARPY-161</a>] - Parse "yield from"</li>     <li>[<a href="/misc/goto?guid=4958992319068850431">SONARPY-167</a>] - Parse coroutines with async and await syntax</li>     <li>[<a href="/misc/goto?guid=4958992319157064218">SONARPY-168</a>] - Parse an infix operator for matrix multiplication</li>     <li>[<a href="/misc/goto?guid=4958992319253069328">SONARPY-169</a>] - Parse additional unpacking generalizations</li>     <li>[<a href="/misc/goto?guid=4958992319340418213">SONARPY-170</a>] - Parse formatted string literals</li>     <li>[<a href="/misc/goto?guid=4958992319433660998">SONARPY-172</a>] - Parse 'rb' prefix of raw bytes literals</li>    </ul>    <h2>下载</h2>    <ul>     <li> <p><a href="https://sonarsource.bintray.com/Distribution/sonar-python-plugin/sonar-python-plugin-1.6.jar ">sonar-python-plugin-1.6.jar</a></p> </li>    </ul>