Apa pendapat Anda tentang Periode / Berhenti Penuh dalam komentar kode? [Tutup]

27

Saya melihat ini ditanyakan di SO Tavern , jadi saya memposting pertanyaan di sini. Saya pikir itu pertanyaan yang menarik. (Tentu saja itu bukan milik SO, tapi saya pikir tidak masalah di sini.)

Apakah Anda menambahkan titik (atau, seperti OP menulis, "berhenti penuh") dalam komentar kode Anda?

Agar tetap relevan, mengapa ?

Moshe
sumber
2
Seringkali saya lakukan dan kadang-kadang tidak. Itu tergantung pada komentar dan apa yang membuatnya mudah dibaca.
Tim

Jawaban:

29

Pemberhentian penuh adalah untuk mengakhiri kalimat, tetapi jika komentar hanya terdiri dari satu kalimat yang dikelilingi oleh kode, maka penghentian penuh tidak diperlukan menurut saya. Kadang-kadang saya bahkan tidak menggunakan huruf besar untuk huruf pertama. Komentar multiline yang terperinci, di sisi lain, memang membutuhkan tanda baca lengkap.

// This function returns an average of two integers. Note that it may
// return an irrelevant result if the sum of a and b exceeds the int
// boundaries.

int avg(int a, int b)   // make it static maybe?
{
    // A better algorithm is needed that never overflows
    return (a + b) / 2; 
}
Mojuba
sumber
4
+1. Ini sangat mirip dengan gaya komentar saya sehingga memberi saya deja vu palsu. :)
Bobby Tables
26
Tidak, pemberhentian penuh adalah untuk menandai akhir kalimat. Tidak relevan apakah Anda memiliki satu atau beberapa.
Benteng
2
<canda> Bukankah lebih baik untuk memeriksa melebihi batas int? </joke>
Dan Rosenstark
2
@ Yar: rata-rata selalu antara a dan b, yang menurut definisi selalu dalam batas, kan? ;)
mojuba
8
Semua string saya dibatalkan nol, jadi komentar yang tepat harus selalu diakhiri dengan '\ 0' Anda tidak ingin orang lain melihat kode Anda untuk membaca melewati akhir pikirannya kan?
CodexArcanum
26

Ya, Karena komentar dalam bahasa Inggris, dan bahasa Inggris yang tepat menggunakan tanda baca.

Dominique McDonnell
sumber
2
Bagaimana dengan pesan teks?
Moshe
4
@Moshe, pesan teks adalah bahasa Inggris yang sulit.
Dominique McDonnell
8
Bahasa Inggris yang sulit, tetapi saya masih menggunakan tanda baca di dalamnya. Tanda baca ada untuk memandu pembaca tentang apa yang dimaksudkan penulis - ini berlaku untuk bahasa apa pun, IMHO.
cjmUK
@ cjmUK, Lol, ya, dan saya juga. Saya pikir Moshe memakainya sebagai alasan bahwa kami tidak akan menggunakan tanda baca, karena saya secara teratur menerima pesan seperti "bd b gr8 cu bye bye" yang mendorong saya ke atas tembok
Dominique McDonnell
Saya tidak tahu apa yang harus saya lakukan
cjmUK
17

Apakah Anda menambahkan titik (atau, seperti OP menulis, "berhenti penuh") dalam komentar kode Anda?

Agar tetap relevan, mengapa?

Untuk alasan yang sama saya menambahkan mereka ketika menulis teks "normal" - mereka adalah bagian dari bahasa secara tertulis, dan seharusnya tidak ada sesuatu yang istimewa tentang mereka. Saya menggunakannya dengan sama ketika menulis satu kalimat (satu baris) komentar serta seluruh paragraf.

Kode sumber bukan teks biasa, dan oleh karena itu kami menggunakan aturan berbeda untuknya. Sederhana ;-)

Benteng
sumber
Seorang teman saya tidak pernah menangkap kata-kata dalam email ... karena itu ada di internet. Bagi saya tidak masalah ketika Anda menyesuaikan tulisan Anda dengan batasan teknis seperti SMS, tetapi bagaimana perbedaan email atau kode sumber dari teks dalam huruf dan buku?
LennyProgrammers
1
@ Lenny222 - Tidak yakin apa yang Anda tanyakan di sini. Email harus ditulis seperti teks biasa; seperti Anda sedang menulis surat seperti yang Anda katakan. Bagaimana mereka sebenarnya ditulis (dan SMS, oh boy, jangan mulai saya menggunakan SMS :) Kode sumber tidak tunduk pada aturan yang sama seperti teks biasa, karena memiliki aturan sintaksis sendiri.
Rook
2
Bagi saya, kode sumber komentar dimaksudkan untuk dibaca oleh manusia. Mengapa harus membuat perbedaan apakah beberapa informasi dalam dokumen spesifikasi yang terpisah atau tertanam dalam komentar kode sumber?
LennyProgrammers
@ Lenny222 - Sesuatu baru saja terjadi pada saya, jadi supaya tidak ada kesalahpahaman di antara kami. Kita sekarang berbicara tentang kode sumber, atau komentar yang tertanam di dalamnya? Jika ini adalah kasus kedua, maka saya minta maaf, karena saya salah paham dengan Anda. Dalam hal itu, aturan yang sama berlaku untuk teks normal (untuk komentar). Dalam kode sumber aktual (kode yang dibaca oleh kompiler / juru bahasa), saya tidak melihat bagaimana aturan yang sama dapat mengikuti.
Rook
1
Ya, saya pikir kami sepakat satu sama lain tanpa mengetahui. ;)
LennyProgrammers
9

Jika Anda menulis komentar orang akan berharap itu ditulis dalam bahasa Inggris. Karena itu, seseorang harus memberi tanda baca dengan benar. Melakukan yang sebaliknya akan menjadi malas.

dengan cepat_now
sumber
1
Periode adalah untuk akhir kalimat. Komentar belum tentu kalimat lengkap.
John B. Lambe
Komentar, secara umum, harus berupa kalimat. Jika tidak, saya harus bertanya mengapa tidak. Jika komentar Anda sangat singkat sehingga bukan kalimat, apakah mungkin jelas dan karenanya berlebihan?
cepat,
5

Jika saya menulis kalimat lengkap (atau lebih), maka ya. Jika tidak, maka kadang tidak, tetapi biasanya tetap ya.

Saya juga terkadang menjadi gila dan menggunakan tanda seru, tanda tanya, dll;)

Adapun mengapa, itu sebagian karena saya hanya khusus seperti itu dan sebagian karena saya menemukan bahwa tanda baca yang tepat dapat menambah banyak kejelasan.

Adam Lear
sumber
Jika Anda menggunakan tanda tanya, apakah Anda memahami kode Anda sendiri?
Moshe
@ Moshe: Itu biasanya di TODO ketika saya mungkin belum sepenuhnya memahami kode saya sendiri.
Adam Lear
2
@ Moshe - Mengapa komentar tidak bisa menyertakan pertanyaan? Pertanyaan bisa bersifat retoris. Sebenarnya, saya sering kita? dalam komentar saya - ketika menjelaskan kode kondisional, alih-alih penjelasan yang kering tentang logika, seringkali lebih jelas untuk menggambarkan logika sebagai pertanyaan. Misalnya "Apakah kriteria kualifikasi telah dipenuhi? Jika Tidak, tampilkan peringatan kepada pengguna."
cjmUK
1
Dalam bekerja dengan proyek-proyek besar dan banyak kolaborator saya sering menemukan komentar pertanyaan itu yang paling penting.
LennyProgrammers
3

Jawaban lain dan popularitas mereka telah memperjelas bahwa perhentian penuh sangat dihargai dalam komentar yang lebih panjang, dan mungkin dapat dihindari dalam satu kalimat.

Poin lain yang mungkin relevan adalah untuk menghindari tanda seru, terutama kelipatan . Contoh:

    // Though loop is labor-intensive, performance is fine with with 95K cases!!!

dan

    // This code really sucks!

Di sisi lain, tanda tanya terkadang sangat berguna:

    // TODO: What does Crojpler.bway() actually do?
Dan Rosenstark
sumber
1

Tergantung. Jika saya menulis paragraf besar dan tepat yang menjelaskan apa yang dilakukan oleh satu blok kode, maka saya memberi tanda baca dengan benar, seperti tulisan lain yang tepat. OTOH, ketika saya hanya berkomentar satu baris kode, maka saya tidak.

Mengapa? - Mirip dengan mengapa saya menulis email menggunakan penulisan yang tepat, sementara saya mungkin menggunakan kalimat steno dalam pesan SMS. Dalam satu kasus saya sedang duduk untuk menulis blok teks yang tepat, jadi saya hanya secara otomatis "melakukannya dengan benar", sementara di yang lain itu hanya catatan singkat untuk mendapatkan poin.

Contoh nyata dari kode saya:

Komentar catatan cepat:

// check for vk_enter

Dokumentasi metode "Tepat":

// This method sets up a workspace tab with the given name. Each MDI window has a parent
// workspace specified when it's saved. The code which loads each MDI window then point it to
// the correct workspace.
Tabel Bobby
sumber
Pengembang NET, eh? ;-)
Moshe
@ Moshe: Java sebenarnya. Ini adalah kode dari applet yang sangat besar dan kompleks, pada dasarnya seperti aplikasi Swing desktop kecuali itu berjalan di browser. :)
Bobby Tables
Saya pikir itu MDI adalah istilah NET.
Moshe
@ Moshe: Tidak, ini generik ( en.wikipedia.org/wiki/Multiple_document_interface ).
Bobby Tables
1

Ya saya pikir dengan cara ini Anda membuat konvensi pengkodean yang baik dan juga membuat kode yang mudah dibaca untuk orang ketiga yang meninjau kode Anda.


sumber
1
Bagaimana dengan orang kedua?
daviewales
0

Saya akan selalu menggunakan huruf besar dan tanda baca dengan benar saat membuat komentar XML yang saya harapkan dapat dilihat di IntelliSense dan dalam dokumentasi yang kami buat . Ini adalah konstruksi yang jauh lebih formal dan harus diperlakukan seperti itu.

Komentar yang baru saja dilihat di badan blok kode, harusnya sejelas mungkin. Terserah programmer bagaimana mereka mencapainya.

Matt DiTrolio
sumber