Code Reviews Prior to Shipping
A project I created for myself is code complete. But as we know, code complete and "ship it" are two different things. I'm using Codex Web to do the reviews as it's connected to my GitHub repo. A sophisticated product needs more than "do a code review". I worked with ChatGPT to first come up with a set of reviews. Then I'll have ChatGPT write the review prompts, and THEN I'll give them to Codex Web to generate the reviews.
This look before you leap using AI approach increases the quality of outcomes. I involve the AI in the planning and not just in the execution.
Didn’t you just write a code review post? Yes. I was discussing the review I would do after each sprint.
Sprints? Don’t we all hate corporate agile? We hate bureaucratic processes that waste our time. The concept of breaking work down into atomic, testable, functional “sprints” is quite helpful when using coding AI’s. More on that in another post.
Do you ever test yourself? Yes. I simply have the AI test first.
I’ve build a coding methodology. Kanban board where I start with a product idea, take it to design, sprint breakouts, TDD (generate tests according to test driven development principles), and THEN coding and review. Human in the loop gating the entire way. So this will be the most fun UAT (user acceptance testing) ever as I’ll be building other apps as the test.
The amount and quality of the code review the AI is performing is far above what I could do myself. Or rather, what I WOULD do myself for a home lab project. To do this kind of testing would take a testing team - a talented one at that.
Take a look a the code review strategy - 18 types of reviews put together in 4 bundles to give to Codex to create the reviews: https://lessoflee.pages.dev/posts/product-complete-reviews/
Right off the bat, Codex calls out some “not ready to ship” issues. I think I’m going to fix my project USING my project to address these deficiencies :)
Here is the code review: https://lessoflee.pages.dev/posts/pre-ship-codereview-bundle1/
Three more reviews to run.
Isn’t that a lot of work? Yes, yes it is. People have rightly pointed out that using AI to generate code - means there’s a LOT of code to test. Why this is presented as a bad thing puzzles me. So, it’s better to have less productivity just so you have less to test?
AI is helping in the test and reviews phase as well. Over 170 unit tests were written during development and had to pass. Doesn’t mean the code is perfect - but the way I develop isn’t “have AI write a million lines of code, then ship it”. AI is helping in the code review. Doesn’t mean I am free of the need to review and test. Having AI do the testing, review, with human in the loop, and loop until all pass and reviews pass - BEFORE - I invest a ton of my time - is a big win.
There are commercial products in this code review space as well. If I were developing for clients or big enterprises - the commercial code review would be a no brainer. Just like you have dedicated testing teams and don’t have the developer review his own code.
Having a blast - my project is already usable after a couple days. Now it’s polish and perfect time.