You are on page 1of 4

Home My Network Jobs Messaging

Dr. Milan Milanović


Chief Technology Officer | Thought Leader | Consultant | Author | Building great products, building great
teams

Follow

View full profile

Dr. Milan Milanović • 3rd+ Follow


Chief Technology Officer | Thought Leader | Consultant | Author | B…
1h •

𝗛𝗼𝘄 𝘁𝗼 𝗱𝗼 𝗰𝗼𝗱𝗲 𝗿𝗲𝘃𝗶𝗲𝘄𝘀 𝗽𝗿𝗼𝗽𝗲𝗿𝗹𝘆

An essential step in the software development lifecycle is code review. It enables


developers to significantly enhance code quality. It resembles the authoring of a book.
The story is written by the author, but it is then edited to ensure that there are no
mistakes like mixing up "you're" with "yours." Code review in this context refers to the
process of examining and assessing other people's code.

There are different 𝗯𝗲𝗻𝗲𝗳𝗶𝘁𝘀 𝗼𝗳 𝗮 𝗰𝗼𝗱𝗲 𝗿𝗲𝘃𝗶𝗲𝘄: it ensures consistency in design and
implementation, optimizes code for better performance, is an opportunity to learn, and
knowledge sharing and mentoring, as well as promotes team cohesion.

What to look for in a code review? Try to look for things such as 𝗱𝗲𝘀𝗶𝗴𝗻 (does this
integrate well with the rest of the system and are interactions of different components
make sense), 𝗳𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹𝗶𝘁𝘆 (does this change is what the developer intended),
𝗰𝗼𝗺𝗽𝗹𝗲𝘅𝗶𝘁𝘆 (is this code more complex than it should be), 𝗻𝗮𝗺𝗶𝗻𝗴 (is naming good?),
𝗲𝗻𝗴. 𝗽𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲𝘀 (solid, kiss, dry), 𝘁𝗲𝘀𝘁𝘀 (are different kinds of tests used appropriately,
code coverage), 𝘀𝘁𝘆𝗹𝗲 (does it follow style guidelines), 𝗱𝗼𝗰𝘂𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻, etc.

Here are some good practices when doing a code review:

𝟭. 𝗧𝗿𝘆 𝘁𝗼 𝗿𝗲𝘃𝗶𝗲𝘄 𝘆𝗼𝘂𝗿 𝗼𝘄𝗻 𝗰𝗼𝗱𝗲 𝗳𝗶𝗿𝘀𝘁

Before sending a code to your colleagues, try to read and understand it first. Search for
parts that confuse you.

𝟮. 𝗪𝗿𝗶𝘁𝗲 𝗮 𝘀𝗵𝗼𝗿𝘁 𝗱𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 𝗼𝗳 𝘄𝗵𝗮𝘁 𝗶𝘀 𝗰𝗵𝗮𝗻𝗴𝗲𝗱

This should explain what was changes at a high level and why are those changes made.

𝟯. 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗲 𝘄𝗵𝗮𝘁 𝗰𝗮𝗻 𝗯𝗲 𝗮𝘂𝘁𝗼𝗺𝗮𝘁𝗲𝗱

Home My Network Jobs Messaging

Leave to the system everything that can be automated, such as checking for successful
builds (CI), style changes (linters), automated tests and some code smells and bugs
(SonarQube).

𝟰. 𝗗𝗼𝗻'𝘁 𝗿𝘂𝘀𝗵

You need to understand what is changed. Every line of it. Read multiple times if needed,
class by class.

𝟱. 𝗖𝗼𝗺𝗺𝗲𝗻𝘁 𝘄𝗶𝘁𝗵 𝗸𝗶𝗻𝗱𝗻𝗲𝘀𝘀

Never mention the person (you), always focus on changes as questions or suggestions
and leave at least one positive comment. Explain the "why" in your comments and give
a suggestion on how to make it better.

𝟲. 𝗔𝗽𝗽𝗿𝗼𝘃𝗲 𝗣𝗥 𝘄𝗵𝗲𝗻 𝗶𝘁𝘀 𝗴𝗼𝗼𝗱 𝗲𝗻𝗼𝘂𝗴𝗵

Don't strive for perfection, but hold to high standards. Don't be a nitpicker.

𝟳. 𝗠𝗮𝗸𝗲 𝗿𝗲𝘃𝗶𝗲𝘄𝘀 𝗺𝗮𝗻𝗮𝗴𝗲𝗮𝗯𝗹𝗲 𝗶𝗻 𝘀𝗶𝘇𝗲

We should try to make limit the number of lines of code for review in one sitting. Our
brains cannot process so much information at once. The ideal number of LOC is 200 to
400 lines of the core at one time, which is usually 60 to 90 minutes of time. 

What is your code review process? What works for you and what does not?

Image credit (Code Review Pyramid): Gunnar Morling

#softwareengineering #programming #systemdesign #developers #bestpractices


Home My Network Jobs Messaging

Raja Nagendra Kumar and 350 others


351 5 comments · 50 reposts

Reactions

What about... I'll keep this in mind... This is a... Thanks for postin

Like Comment Repost Send


Add a comment…

Most relevant

Dr. Milan Milanović Author 1h


Chief Technology Officer | Thought Leader | Consultant | Author | Building great
products, building great teams

𝗕𝗼𝗻𝘂𝘀 𝟮: Use checklists. The best method for avoiding common mistakes and
overcoming the difficulties of omissions finding is to use checklists. Code
review checklists can be useful to track reporting and process development
purposes as well as to set clear expectations for team members for each type
of review.

Like · 2 Reply

Dr. Milan Milanović Author 1h


Chief Technology Officer | Thought Leader | Consultant | Author | Building great
products, building great teams

𝗕𝗼𝗻𝘂𝘀: One should look at every line of code that is assigned for review.
Some codes need more review and some less, but it's a decision we need to
make during a review. Make yourself available for verbal discussion if needed.

Like · 1 Reply

Danial Samadi •
3rd+ 39m
Django Developer | Blockchain Developer

So useful, thanks for sharing, saved!

Like · 1 Reply

Hani BENZOUACHE •
3rd+ 28m
Head of Cloud Platform | 10x AWS Certified
Work in small batches to make code review painless to go through

Like · 1 Reply Home My Network Jobs Messaging

Asikur Rahman •
3rd+ 59m
JavaScript | React | Frontend | Junior Software Engineer at Zaag Systems Ltd.

Thanks for sharing

Like · 1 Reply

Ad

Follow to get updates on Hitachi's digital solutions.

Hitachi Social Innovation is POWERING


GOOD

Follow

About Accessibility Help Center Privacy & Terms


Ad Choices Advertising
Business Services
Get the LinkedIn app More


LinkedIn Corporation © 2022

You might also like