4 poin oleh GN⁺ 2023-10-10 | 1 komentar | Bagikan ke WhatsApp
  • Penulis membahas gaya coding C pribadinya hingga akhir 2023, sambil menyoroti perubahan penting dan perbaikan dalam berbagai teknik.
  • Penulis mulai menggunakan nama singkat untuk tipe primitif, dan menemukan bahwa hal ini meningkatkan kejelasan serta membuat peninjauan kode lebih menyenangkan.
  • Penulis memberikan contoh aturan penamaan baru untuk tipe primitif seperti typedef uint8_t u8; dan typedef char16_t c16;.
  • Penulis mengadopsi huruf kecil untuk makro yang terlihat seperti fungsi, karena lebih mudah dibaca dan tidak memiliki masalah namespace seperti definisi makro lainnya.
  • Penulis berhenti menggunakan const, karena menurutnya itu tidak memiliki peran nyata dalam optimisasi dan gagal menangkap kesalahan. Mereka percaya bahwa memasukkannya ke dalam C adalah sebuah kekeliruan.
  • Penulis menolak string null-terminated dan menerima tipe string dasar, yang menurutnya lebih produktif.
  • Penulis lebih menyukai pengembalian struct daripada parameter out, sehingga memungkinkan pengembalian banyak nilai secara efektif.
  • Penulis beralih dari initializer dan lebih memilih inisialisasi dengan assignment, kecuali untuk initializer nol tradisional.
  • Penulis lebih menyukai __attribute daripada __attribute__, karena yang terakhir dianggap berlebihan dan tidak perlu.
  • Untuk pemrograman sistem Win32, penulis merekomendasikan menulis prototipe secara manual dengan menggunakan tipe kustom untuk mengurangi waktu build, merapikan namespace, dan membuat antarmuka dengan program menjadi lebih bersih.
  • Penulis memberikan contoh gaya coding pada program kecil seperti wordhist.c dan asmint.c.

1 komentar

 
GN⁺ 2023-10-10
Opini Hacker News
  • Artikel tentang gaya coding C pribadi penulis pada akhir 2023.
  • Beberapa penulis komentar tidak setuju dengan cara penulis mendefinisikan tipenya sendiri, dan berpendapat bahwa ini dapat membingungkan orang yang sudah terbiasa dengan tipe C yang ada.
  • Ada perdebatan tentang penggunaan "ALL_CAPS" untuk konstanta, dan sebagian berpendapat bahwa itu seharusnya dicadangkan untuk macro preprocessor.
  • Ada kritik terhadap penggunaan ukuran signed oleh penulis, dan beberapa penulis komentar berpendapat bahwa ukuran unsigned lebih tidak rentan terhadap cacat.
  • Penyimpangan penulis dari konvensi yang ada, misalnya menggunakan u8 atau i32 alih-alih uint8_t atau int32_t standar, tampaknya dapat membingungkan orang lain.
  • Beberapa penulis komentar berpendapat bahwa pendekatan penulis tampaknya lebih berfokus pada preferensi pribadi daripada membuat kode C mudah dikerjakan oleh semua orang.
  • Muncul pertanyaan tentang penggunaan boolean 32-bit oleh penulis, dan sebagian berpendapat bahwa ini membuang memori tanpa manfaat yang jelas.
  • Ada kekhawatiran terhadap asumsi penulis bahwa float adalah 32-bit dan double adalah 64-bit, yang tampaknya berpotensi menimbulkan masalah.
  • Konsep "gaya pribadi" dalam coding tampaknya dapat bermasalah, karena pemrograman pada akhirnya adalah aktivitas sosial, dan ini juga berlaku untuk proyek hobi.
  • Beberapa penulis komentar tidak setuju dengan preferensi penulis terhadap structs dibandingkan out-parameters, dan berpendapat bahwa ini membuat fungsi lebih sulit disusun dan menyebabkan bertambahnya tipe.
  • Artikel ini memicu diskusi tentang berbagai gaya dan pendekatan coding, serta menekankan keberagaman pendapat di komunitas pemrograman.