Please please please, do not always write comments. Try to write code that does not need comments whenever possible. Proper variable, class and method names go a long way. If you think a block of code needs a comment, turn it into a method and give it a proper name instead.
Comments should be a last resort for cases where making the code self explanatory is not possible, and those should be rare.
About optimization:
Optimal code is code that fulfills it’s purpose without observable issues.
If you try to make something faster without any prior complaints or measurements indicating that it being slow is an actual issue, you are not optimizing, you are just engaging in mental masturbation.
About comments:
Please please please, do not always write comments. Try to write code that does not need comments whenever possible. Proper variable, class and method names go a long way. If you think a block of code needs a comment, turn it into a method and give it a proper name instead.
Comments should be a last resort for cases where making the code self explanatory is not possible, and those should be rare.
About optimization:
Optimal code is code that fulfills it’s purpose without observable issues.
If you try to make something faster without any prior complaints or measurements indicating that it being slow is an actual issue, you are not optimizing, you are just engaging in mental masturbation.