Code comments can be said to be more important than the code itself. Here are some ways to ensure that the comments you write in your code are friendly:

Don't repeat what readers already know

Comments that only state what the code does are not helpful to us.

// If the color is red, turn it green 
if (color.is_red()) { 
    color.turn_green(); 
} 

Do comment to explain reasoning and history

If the business logic in the code may need to be updated or changed later, you should leave a comment.

/* The API currently returns an array of items 
even though that will change in an upcoming ticket. 
Therefore, be sure to change the loop style here so that 
we properly iterate over an object */ 
 
var api_result = {items: ["one", "two"]}, 
items = api_result.items, 
num_items = items.length; 
 
for(var x = 0; x < num_items; x++) { 
    ... 
}

Don't make same-line comments too long

Nothing annoys developers more than dragging the horizontal scrollbar to read comments. In fact, most developers will choose to ignore such comments because they are really inconvenient to read.

function Person(name) { 
    this.name = name; 
    this.first_name = name.split(" ")[0]; // This is just a shot in the dark here. If we can extract the first name, let's do it 
} 

Put long comments above the logic and short comments after it

Comments can be placed next to the code if they do not exceed 120 characters. Otherwise, you should place the comment directly above the statement.

if (person.age < 21) { 
    person.can_drink = false; // 21 drinking age 
 
    /* Fees are given to those under 25, but only in 
    some states. */ 
    person.has_car_rental_fee = function(state) { 
        if (state === "MI") { 
            return true; 
        } 
    }; 
}

Don't add unnecessary comments just for the sake of commenting

Overly verbose comments can cause confusion. Perhaps in school your teacher taught you to add comments to all statements to help developers understand better. But that is wrong. If anyone says that, you should immediately give them two big slaps in the face. Code should be kept clean and concise, there is no doubt about it. If your code needs line-by-line explanation, then what you need most is refactoring.

if (person.age >= 21) { 
    person.can_drink = true; // A person can drink at 21 
    person.can_smoke = true; // A person can smoke at 18 
    person.can_wed = true; // A person can get married at 18 
    person.can_see_all_movies = true; // A person can see all movies at 17 
    //I hate babies and children and all things pure because I comment too much 
}

Keep comments spelled correctly

Don't make excuses for spelling mistakes in code comments. The IDE can check spelling for you. If it doesn't have this feature, then go download a plugin and do it yourself!

Do practice a lot

Practice makes perfect. Try writing some useful comments, and you can ask other developers whether your comments are useful. Over time, you will gradually understand what counts as friendly comments.

Do review others' comments

During code review, we often tend to ignore comments. Don't be afraid to ask for more comments; you should raise questions. If everyone develops the good habit of writing good comments, the world will be a better place.

Summary

Comments are a very important part of the development process, but we should not comment for the sake of commenting. Comments should be useful, concise, and should complement the code. Comments should not be used to explain code line by line; instead, they should be used to explain business logic, reasoning, and implications for the future.