CodeFactor.io vs Credo: What are the differences?
What is CodeFactor.io? Automated Code Review for GitHub & BitBucket. CodeFactor.io automatically and continuously tracks code quality with every GitHub or BitBucket commit and pull request, helping software developers save time in code reviews and efficiently tackle technical debt.
What is Credo? A static code analysis tool for the Elixir language. credo can show you refactoring opportunities in your code, complex and duplicated code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.
CodeFactor.io and Credo can be categorized as "Code Review" tools.
Credo is an open source tool with 2.96K GitHub stars and 215 GitHub forks. Here's a link to Credo's open source repository on GitHub.
What is CodeFactor.io?
What is Credo?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Credo?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using CodeFactor.io?
What are the cons of using Credo?
Sign up to get full access to all the companiesMake informed product decisions
I use CodeFactor.io because my school team is really intense about being as professional as humanly possible before going into the industry. We find it is a great way to force people to think about the complexity of their functions and remember certain things we don't often think about (explicit single param functions!).
Unfortunately, we had to make it not a required check due to a large amount of false positives. There have been many pull requests where it will report reduced code quality because a function near the code that was changed was already poor quality (from before code factor was added). It's not really feasible or the responsibility of the person doing that specific pull request to fix what is likely someone else's mistakes.
It also has a problem with switch statements that are simply enum conversions. We often have a use for stringifying enums, but it will say there are "18+ code paths", which makes it a complex function. We're more than fine with this and the solution of using an unordered map isn't really elegant.
We've also gotten a fail because "Complex Code" and it just points to the whole file. Like...okay? What do you want from me? How do I help with this? "The file just kinda sucks". Thanks CodeFactor.
I would also really like the ability to ignore something that comes up during a pull request. Doing so doesn't make the code factor check pass. I'm not even sure if I have the option to do that.
I use CodeFactor.io because it really does help my team to find problems in our code. Its a really valuable extra step in our review process that points out things that need to be simplified or code that is repeated from somewhere else in the project. It makes our reviews more efficient and can catches style problems that are tough to catch any other way (until they bite you).
I use CodeFactor.io because it has helped me create a habbit of conforming to PEP8 when writing Python. It has drastically improved the overall quality of my code base on its way into production. Combined with other CI/CD tools, it is a great way of working in best practices into my development process.