Codacy automates code reviews and monitors code quality on every commit and pull request reporting back the impact of every commit or pull request, issues concerning code style, best practices, security, and many others. It monitors changes in code coverage, code duplication and code complexity. Saving developers time in code reviews thus efficiently tackling technical debt. JavaScript, Java, Ruby, Scala, PHP, Python, CoffeeScript and CSS are currently supported. Codacy is static analysis…
$0
IBM Bob
Score 8.2 out of 10
N/A
IBM Bob is an AI-assisted development tool designed to support developers across the software development lifecycle. It helps interpret developer intent and provides assistance when working with real-world codebases by using contextual awareness of the surrounding project.
I recommend it for companies that use several programming languages, as it supports several languages such as Java, Javascript, Python, among others. However, for companies that use only one programming language, there are specific tools for each language that can be more complete in this scenario. I do not recommend it for companies that only use open source software, in which case there are other tools available.
IBM Bob really shines in the area of program creation, manipulation, conversion, etc. It is like a hard-working assistant, taking the burden of coding from you. It will also respond properly to questions about how to interact with certain software tools, how to create connections between software-tools using REST API (it will look up the documentation and find the proper syntax, etc.). And it is very quick at statistical analysis, anomaly detection (in data), etc. Don't treat IBM Bob as your regular ChatGPT-like general-purpose AI, asking it about showbiz or recent news. It will tell you politely that this is not its field of expertise.
It works well, for the most part, but asking for authorization for multiple steps or tool installation and use sometimes becomes bothersome. You can grant blanket authorizations but I do prefer to have a tradeoff there so not all is bad, but sometimes I get the impression that we get asked the same question several times during the same workflow.
Even though it is paid while SonarQube is free, we chose Codacy because it is simpler to configure and maintain the implemented rules. In addition, it offers support for the main programming languages on the market, ensuring that we can continue to use it if we want to use other languages in new products.
ChatGPT just did not have the breadth and depth of insight for my coding needs. To get an approximation of what I wanted I had to restate my prompt multiple times, and it looked almost like it did not learn from one time to the other.
It lessened the dependency on me as 'the programmer' in the team. I usually had to write even the simplest of shell scripts for monitoring purposes. I just taught one of my colleagues to use IBM Bob to do it in a fraction of the time. He created it with two or three decent prompts. That saved him having to contact me and saved me time in creating it.
For the customer, this meant having the monitoring solution online within minutes, instead of days.
I asked IBM Bob to document a complex script that I wrote in ksh and rewrite it in Python. I can read Python but am not "fluent" in programming it. With the help of IBM Bob, I created a plug-in replacement of this tool within 1 day, which would normally have taken me weeks.
Also, the resulting tool runs 4 times faster than the original script.
A customer wanted to know if their suspicions were correct that, at certain times of the day, network traffic was slower. I had the systems (8 systems talking to each other) collect data every 30 seconds and fed the resulting .txt files into IBM Bob for analyzing, asking specific questions about time periods, inter- or intra datacenter traffic, etc. I first verified the details and examples it found in the data (to make sure it is correct) and asked it to generate a user-friendly report with a few tables.
That took less than 30 minutes to execute various queries until I was satisfied. It would have taken me days to analyze the data myself (and would probably missed some of the clues).