Jika Anda seorang programmer, ada banyak praktik yang bisa Anda benci.
Nilai hardcode. Logika ganda. Hierarki pewarisan yang kompleks. Tetapi haruskah komentar ada di daftar ini?
Dahulu kala, pada zaman pemrograman prasejarah, menulis komentar dianggap sebagai bagian wajib dari penulisan kode. Saat Anda menulis kode, itu diisi dengan komentar yang singkat dan tepat. Kemudian kode bersih dan pemrograman tangkas mulai menguasai dunia. Purists berteriak tentang bahaya komentar yang mengisi kode tidak terstruktur dan rentan. Tiba-tiba komentar itu menjadi kesalahan, anti-pola, kumpulan kebohongan langsung.
Banyak developer yang merasa terpojok.
Tetapi apakah pilihannya begitu jelas? Ataukah masih ada cara untuk menulis komentar dan sekaligus menghargai diri sendiri dengan bangun pagi? Untuk mengetahui jawabannya, mari kita lihat bagaimana kode yang buruk dikomentari dan bagaimana bahkan komentar yang buruk dapat menyelamatkan nyawa.
Komentar malas
, , .
, , :
double delta = h*h-r1*r1;
double r2 = Math.Sqrt(delta);
, , . , , , :
// Calculate side length using the Pythagorean Theorem
// and put the value into variable "r2"
double delta = h*h-r1*r1;
double r2 = Math.Sqrt(delta);
- . .
. , :
double lengthSideB = Math.Sqrt(
Math.Pow(hypotenuse,2) - Math.Pow(lengthSideA,2);
)
:
double sideA = Pythagoras.GetLengthOfSide(hyptenuse, sideB);
? ! - , , . , . , . - - .
. , , , . , - - . , , . , . , . :
/**
* Constructor.
*
* @param name (required) brand name of the product. Must have
* content. Length must be in range 1..50.
* @param price (optional) purchase price of the product.
* @param units (required) number of units currently in stock.
* Can not be less than 0.
*/
public Product(string name, decimal price, integer units)
{
...
}
, , . - , . . , , .
. , . . . . , , - . API. , , . . - , . , API , , , . . , - . , . .
Β« - Β» - , .
. , - :
// to match ITG1's late arrows. -K
GlobalOffsetSeconds=-0.006
, - , . - , , , , . , , , . . , , , . , - , , , , ? - , , , , , .
, , , , . , , , . , . - , - .
βI spent some time this weekend looking at very well-named, very clean, uncommented code implementing a research algorithm. Iβm high-level familiar with it, the guy sitting next to me was the inventor, and the code was written a few years ago by someone else. We could barely follow it.β β Paul Nathan
, , . , , , . . , . , , . .
, . . :
( )
( )
( IDE)
Pertanyaan utamanya sederhana. Apakah layak membayar komentar? Pendapat berbeda-beda, tetapi jika Anda menggunakan komentar dengan cermat dan cerdas - jika Anda menggunakannya untuk mengurangi beban kognitif kode Anda, daripada menangkal praktik buruk - komentar tersebut dapat menambah nilai bahkan pada kode yang paling bersih.