4 puan yazan GN⁺ 2023-10-10 | 1 yorum | WhatsApp'ta paylaş
  • Yazar, 2023 sonuna kadar benimsediği kişisel C kodlama stilini tartışıyor ve tekniklerdeki önemli değişimlerle iyileştirmeleri vurguluyor.
  • Yazar, ilkel türler için kısa adlar kullanmaya başladığını ve bunun açıklığı artırdığını, ayrıca kod incelemelerini daha keyifli hale getirdiğini söylüyor.
  • Yazar, ilkel türler için yeni adlandırma kurallarına typedef uint8_t u8; ve typedef char16_t c16; gibi örnekler veriyor.
  • Yazar, fonksiyon gibi görünen makrolar için küçük harf kullanımını benimsedi; çünkü bunun okunması kolay ve diğer makro tanımlarıyla aynı namespace sorunlarına sahip olmadığını düşünüyor.
  • Yazar, const kullanımını bırakmış; çünkü bunun optimizasyonda pratikte bir rol oynamadığını ve hataları yakalayamadığını düşünüyor. C diline dahil edilmesinin bir hata olduğuna inanıyor.
  • Yazar, null-terminated string'leri reddedip temel string türünü benimsediğini ve bunun daha üretken olduğunu gördüğünü söylüyor.
  • Yazar, out parametreler yerine struct döndürmeyi tercih ediyor; bunun birden fazla değerin etkili biçimde döndürülmesine izin verdiğini belirtiyor.
  • Yazar, başlatıcılardan uzaklaşıp, geleneksel sıfır başlatıcı dışında, atama yoluyla başlatmayı tercih ediyor.
  • Yazar, __attribute__ yerine __attribute kullanımını tercih ediyor; çünkü ikincisini aşırı ve gereksiz buluyor.
  • Win32 sistem programlama için yazar, derleme süresini azaltmak, namespace'i düzenlemek ve programla daha temiz arayüz kurmak amacıyla özel türler kullanarak prototipleri elle yazmayı öneriyor.
  • Yazar, wordhist.c ve asmint.c gibi küçük programlarda kendi kodlama stiline dair örnekler sunuyor.

1 yorum

 
GN⁺ 2023-10-10
Hacker News görüşü
  • 2023 sonu itibarıyla yazarın kişisel C kodlama stili üzerine bir yazı.
  • Bazı yorumcular, yazarın kendi türlerini tanımlama biçimine katılmıyor ve bunun zaten C türlerine aşina olan kişileri şaşırtabileceğini savunuyor.
  • Sabitler için ALL_CAPS kullanımına dair bir tartışma var; bazıları bunun önişlemci makrolarına ayrılması gerektiğini öne sürüyor.
  • Yazarın signed boyutlar kullanmasına yönelik eleştiriler var; bazı yorumcular unsigned boyutların hatalara karşı daha az açık olduğunu savunuyor.
  • Yazarın standart uint8_t veya int32_t yerine u8 ya da i32 kullanmak gibi yerleşik geleneklerden sapmasının başkaları için kafa karıştırıcı olabileceği düşünülüyor.
  • Bazı yorumcular, yazarın yaklaşımının C kodunu herkesin kolayca üzerinde çalışabileceği hale getirmekten çok kişisel tercihlere odaklanmış göründüğünü savunuyor.
  • Yazarın 32 bit boolean kullanmasına dair soru işaretleri var; bazıları bunun belirgin bir avantaj olmadan bellek israfına yol açtığını öne sürüyor.
  • Yazarın floatın 32 bit ve doubleın 64 bit olduğu varsayımına dair kaygılar var ve bunun potansiyel olarak sorun yaratabileceği düşünülüyor.
  • Kodlamada “kişisel stil” kavramının sorunlu olabileceği görülüyor; çünkü programlama nihayetinde sosyal bir etkinlik ve bu, hobi projeleri için de geçerli.
  • Bazı yorumcular, yazarın out-parameter'lar yerine struct'ları tercih etmesine katılmıyor ve bunun fonksiyonları düzenlemeyi zorlaştırdığını ve türlerin çoğalmasına yol açtığını savunuyor.
  • Bu yazı, çeşitli kodlama stilleri ve yaklaşımları hakkında tartışma başlatıyor ve programlama topluluğundaki görüş çeşitliliğini vurguluyor.