472,782 Members | 1,174 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,782 software developers and data experts.

Ways to improve technical debt!

1 Bit
I am building a SaaS tool that will allow the user to convert various images and scanned material into high definition printable formats allowing the user to print any content with ease. But my team recently started facing issues while rolling out v2 for our tool. We noticed a good amount to technical debt moving forward we want to improve it.

Need to know if anyone has experiences using a code review tool.
Jan 28 '21 #1
3 3373
Banfa
9,065 Expert Mod 8TB
You do not necessarily require a special tool to make code reviews work, what you need to do is make sure you have your process correct and that everyone is using the process. A tool can help with this.

What is important, if you want to use code reviews, is that they are included into your development process (or work flow) so we have always managed code reviews through the issue tracker we use (Bugzilla) changing the default process to include a code review step so that every change is reviewed before being released. In addition to that we performed a number of baseline reviews, i.e. not reviewing a change but reviewing what is already there which were managed by creating specific tasks in Bugzilla to perform the review and then assigning them to someone.

A number of issue trackers either have built in support for code reviews or have the ability to have 3rd party code review software integrated into them e.g. GitHub is a source repository that supports code reviews as a part of the work flow.

Another thing that we have found useful is to have a check list that each code review is performed against
  • Does the code conform to the company coding standard as documented in DOC123-Company Coding Standard?
  • Is the code adequetly commented?
  • Are the variables sensible?
  • Are all pointers handled correctly?
  • Is the logic of the code correctly implemented in the simplest manner?
  • etc

We particularly used this for baseline reviews.

You need to decide what you want to achieve with a code review, look at what tools you are already using and then look for Code Review Software that integrates with the toolset you are already using and supports your intended goals. As I said once we had done that we decided that the issue tracker we had provided the features we needed and no additional software was required.

Finally whatever you intend to do document it, then review the document with your peers/programmers/reviewers, so that it is clear what the intent is and how the process works especially to anyone who joins your team.
Jan 28 '21 #2
Banfa
9,065 Expert Mod 8TB
On a side note, I'm not sure that code reviews are the solution to technical debt but that rather depends on how you define technical debt.

I would define technical debt as issues in the code that do not stop it working correctly but result in in-elegant code or code that is hard to maintain, hard to add new features to or inefficient in some way. The sort of code change that no-one will notice because the functionality of the code doesn't change.

If the code is actually not working for the user in some way I would call that a bug, or at least an unwanted feature because it is obvious and demonstrable.

The difference is that managers tend to be very resistant to spending money fixing the first type of thing because no-body sees any direct improvement (except the programmers and no-one cares about them) where as the second is a more obvious if A is fixed then the users life will be better because B.

To that end code reviews tend to be the solution to poorly or hastily written code that has bugs in it, technical debt tends to be down to a poor design decision (or one that later turns out not to have been the best choice).
Jan 28 '21 #3
dreamtext
24 Expert 16bit
Talk to your customers and users first. Make this a part of your regular process.
Technical debt might be something perceived internally but might not matter to the customer/end-user.

Code reviews are good way to manage the code-base and keep the team in sync on process. They might not remove technical-debt.
Feb 2 '21 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

17
by: abracad_1999 | last post by:
Easy Web Site Design web.twinisles.com is a short introduction to Web Design is aimed at the non-technical layman who wants to be able to place his/her message out there in cyberspace - quickly and...
35
by: Eric Sabine | last post by:
In my Finally block, I was using cn.close (where cn is an ADO.NET connection object, SQLConnection to be exact) and then I came across the following in some microsoft code. If Not cn Is Nothing...
12
by: apple.davinci | last post by:
as many as possible. int i = 333; char* s; how to convert i to s;
22
by: flit | last post by:
Hello All, I have a hard question, every time I look for this answer its get out from the technical domain and goes on in the moral/social domain. First, I live in third world with bad gov., bad...
0
by: =?Utf-8?B?QkY=?= | last post by:
I am trying to find ways to improve application performation. One of the ways is object pooling. Like this: http://www.csharphelp.com/archives/archive285.html Have anybody tried to use Object...
11
by: Peted | last post by:
Im using c# 2005 express edition Ive pretty much finished an winforms application and i need to significantly improve the visual appeal of the interface. Im totaly stuck on this and cant seem...
2
by: GaryDean | last post by:
This question is about alternate ways to hook into a web service. If we just add web reference in VS 2003 we got a wsdl, reference.cs, and reference.map. In vs2005 we get a wsdl and a discomap. ...
1
by: manchun | last post by:
James Cod took the wrong path to learn SQL and even after two years of his graduation; he is still searching for a job in the IT industry. You must be wondering what is the best way to learn SQL to...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.