• Category Archives: changelog

Smarter duplication detection!

Our duplication analysis is great for finding accidental copy-paste or slightly modified pieces of code in your project. However, sometimes it would report common pieces of boilerplate when those are perfectly legitimate uses of the language. One example is large numbers of module requires in JavaScript,
such as:

const ModuleA = require("module_a"),
  ModuleB = require("module_b"),
  ModuleC = require("module_c"),
  ModuleD = require("module_d"),
  ModuleE = require("module_e");

Another example is import statements:

import React, { Component, PropTypes } from 'react'
import { Table, TableBody, TableHeader, TableHeaderColumn, TableRow } from 'material-ui/Table'
import values from 'lodash/values'
import { v4 } from 'uuid

We’ve recently made our duplication analysis smarter so that common patterns like these in Java, JavaScript, and PHP will no longer be reported as duplication on Code Climate, so you can be more confident in the duplication results you do see from Code Climate.

Read more at the source

Fresh pots! Code Climate for Java is here ☕️

We’re delighted to finally announce first class support for Java within Code Climate!

This includes understanding and tracking Java technical debt using our 10-point maintainability inspections, full support for tracking test coverage of Java applications, as well as plugins for open source static analysis tools you may already know and love, like Checkstyle and PMD.

Java becomes the fifth programming language to be supported on Code Climate after JavaScript, PHP, Python, and Ruby. To celebrate, we’re offering new customers 50% off their first 6 months. Find us on Product Hunt to learn more.

We’re really looking forward to seeing how this helps teams level up the quality of their Java server-side applications as well as desktop and Android apps.

Give it a try today – we’d love to hear what you think!

Read more at the source

Introducing new ratings for your files and repos

We’re extremely excited to introduce new top-level ratings for your files and repositories!

  • Maintainability: An estimate of technical debt in the repo based on a standardized 10-point assessment of duplication, complexity and structural issues.
  • Test Coverage: The percentage of covered lines compared to the total number of lines of code. (We ingest test coverage information from your continuous integration server using our new universal test reporter.)
  • It’s been six years since we introduced radically simple metrics for code quality. Our new maintainability and test coverage ratings build on that to deliver a new, clearer way to understand your code’s quality.

    For more information about how these ratings are calculated, please see our docs. And to learn more about the other great features we’re shipping today, check out the blog!

    Read more at the source

    Better quality alerts

    Our pass/fail pull request statuses are great for ensuring that every change merged into your codebase meets your quality standards. However, every once in a while something may slip through the cracks. For those situations, we’ve got new and improved quality alerts for Slack and email. Alerts are sent when any letter rating changes, or any new files are created with a rating of “C” or lower.

    Here’s what it looks like in Slack:

    And here’s an email reporting some test coverage changes:

    We think this new functionality is an excellent complement to our recently-launched customizable issue alerts.

    Read more at the source

    New test coverage statuses for your pull requests

    We’re excited to introduce two new pull request statuses to help you meet your goals for test coverage:

    • Diff Coverage, enforces a minimum percentage of test coverage on new and changed lines of code, to help you make sure that every commit improves your overall coverage.
    • Total Coverage, helps you maintain your current level of coverage. If merging the PR will reduce your total coverage, this status line will fail.
    • These statuses will be rolled out gradually over the next few weeks. If you’re already using our test coverage integration you’ll automatically get these pass/fail statuses on your pull requests, with diff coverage threshold set at a default of 80%.

      If you’re currently using our older codeclimate/coverage as a required status on your pull requests, we recommend first removing it via your GitHub Repo Settings before enabling either of the new statuses. The codeclimate/coverage status is deprecated, and will no longer update correctly within your pull request.

      Head to our docs to learn more about configuring these new statuses, and setting up test coverage.

    Read more at the source