Untuk waktu yang lama saya berpendapat bahwa mereka bernilai sama, atau sangat dekat dengan sama sehingga kemungkinan mendapatkan dengan membuat pilihan yang tepat jauh, jauh, di bawah biaya berdebat tentang hal itu.
Menjadi konsisten itu penting . Jadi saya katakan, mari kita melempar koin dan mulai menulis kode.
Saya telah melihat programmer menolak perubahan seperti ini sebelumnya. Lupakan saja! Saya telah berganti karier berkali-kali. Saya bahkan menggunakan gaya yang berbeda di C # saya daripada di PowerShell saya.
Beberapa tahun yang lalu saya mengerjakan sebuah tim (~ 20 pengembang) yang memutuskan untuk meminta input, dan kemudian membuat keputusan, dan kemudian menegakkannya di semua basis kode. Kami punya 1 minggu untuk memutuskan.
Banyak erangan & memutar mata. Banyak "Saya suka cara saya, karena itu lebih baik" tetapi tidak ada substansi.
Ketika kami mempelajari poin-poin penting dari pertanyaan, seseorang bertanya bagaimana menangani masalah ini dengan gaya brace-on-the-same-line:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Perhatikan bahwa tidak segera jelas di mana daftar parameter berakhir, dan tubuh dimulai. Dibandingkan dengan:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Kami melakukan beberapa bacaan tentang bagaimana orang-orang di seluruh dunia telah mengatasi masalah ini, dan menemukan pola menambahkan garis kosong setelah penjepit terbuka:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Jika Anda akan membuat jeda visual, Anda sebaiknya melakukannya dengan penjepit. Kemudian jeda visual Anda menjadi konsisten juga.
Sunting : Dua alternatif untuk solusi 'garis kosong ekstra' saat menggunakan K&R:
1 / Indent argumen fungsi berbeda dari fungsi tubuh
2 / Letakkan argumen pertama pada baris yang sama dengan nama fungsi dan sejajarkan argumen lebih lanjut pada baris baru dengan argumen pertama
Contoh:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/Sunting
Saya masih berpendapat bahwa konsistensi lebih penting daripada pertimbangan lain, tetapi jika kita tidak memiliki preseden yang mapan , maka brace-on-next-line adalah cara untuk pergi.