Bu forumda diğerleri gibi, yıllardır kod stili yönergeleri ile boğuldum. Bu, benim hem rahatsız olduğum dövüş stil rehberlerini hem de başkalarını stillerini yeniden dizmek için stil rehberlerini kullanmaya teşvik etmeye çalışmak, böylece bir bütün olarak daha okunaklı olmasını da içeriyor.
Kurum ortak bir kodlama standardından faydalanmaktadır. Bir şirket için yazılım geliştirirken, yeni geliştiricileri önceki neslin kodunu almak için nasıl eğiteceğimiz gibi göz önünde bulundurulması gereken birçok önemli şey vardır. Kod yazarken, her zaman bunu düşünmüyorsunuz. Aslında, birçok kodlayıcı, başkalarının gittikten 5 veya 10 yıl sonra kodlara nasıl yaklaşmak istediklerini bile düşünmemeyi tercih eder. Kodlama stili kılavuzu, bir şirketin bu 5 ve 10 yıllık hedeflere odaklanmasını sağlamanın bir yoludur ve geliştiricilerin daha geniş şeylerle çalışmasını kolaylaştırır.
Öte yandan, kodlama stili kılavuzları açıkça mükemmel değildir, çünkü mükemmel bir kodlama stili geliştirmek ve yazmak mümkün değildir. Aslında, matematiksel kanıtların kusursuz hale getirmeye çalışırsanız başarısız olmaya başladığı komik köşe davalarıyla karşılaşmaya başlarsınız. Dolayısıyla kodlama tarzı kılavuzlarının kusurlu olduğunu biliyoruz. Tam olarak 5 ila 10 yıl boyunca ihtiyaç duyduğumuz şeye odaklanmayabilirler.
Bir kodlama stilini "uygularsak", daha sonra değer için şimdi değeri feda ederiz. Çabalarımızın karşılığını alacağımızdan emin olabilirsek, buna "yatırım" denir, ancak kötü yazılmış bir kodlama stili rehberiyle çalışan herhangi bir geliştirici, bu "okunabilirlik" kazanımlarının, geliştiricilerin dikkatini dağıtacağı için, büyük ölçüde ödendiğinin kanıtı olabilir. kodlarından uzakta. Tecrübelerime göre, zorla kodlama stillerinin hak ettiği çok az sayıda vaka vardır, genellikle yazılımın 30 veya 40 yıl boyunca kullanılabileceği benzersiz buzul müşteriler için yazılımda!
Bunun yerine, kodlama stili rehberini manifesto olarak değerlendirmenin en etkili olduğunu düşünüyorum: "Bu, grubumuz için en iyi kodlama stilinin olduğuna inandığımız şeydir." Sözleriyle belgelenen bir sürü akıcı düşünce. "İnanç" kelimesi önemlidir: eğer inançlar değişirse, kodlama tarzı kılavuzları da bununla birlikte değişmelidir.
"Güçlü kişisel itirazlar" teklifinizin geldiği yer burasıdır. "Mükemmel" bir dünya dediğimde, en iyi olduğunu düşündüğünüz kodu yazarsınız ve sonuçlarıyla yaşarsınız. Programlama yaparken genellikle "yumuşak" sonuçların üstesinden gelmeyi severiz, ancak bu durumda önemlidir. Kendi tarzında yazarken seninle hiçbir problemim yok, eğer sana önemli ve uzun ömürlü bir şey vermeme izin vermezsen.
Tüm sistemi bir golf sahası gibi düşünün. Kodlama tarzı, panayırdaki kolay yolu oluşturur. Kendinizi kodlama standardına bağlı tutarsanız, yaşamın elimizden geldiğince kolay olmasını sağlayacağız. Sertleştikçe, kendi kodlama standartlarınızı kullanarak, takımdaki değerini kanıtlamanız gerekecek.
Pazartesi sabahı gelirsem, bütün hafta sonunu geçirdiğin bir sorunu çözmek için geçirdiğimiz bir sorunu çözmek için harcadığını ve kendi "özel" kodlama standardında yaptığını bulmak için, sana söylemeyeceğim. düzelt. Sana gidip duş almanı söyleyeceğim. "Özel" kodlama standardınız istisnai olarak "özel" ise, bir giriş seviyesi geliştiricisinin, kodunuzun nasıl çalıştığı hakkındaki bilgiyi yaymak için kodu "gözden geçirmesini" önerebilirim ve tereddüt etmeden bir şey okumak zor görünüyorsa toparla. Şirkete, hafta sonu yaptığınız korkunç kodlama standartları ihlallerinden bahsetmemeye bile değecek kadar değer verdiniz.
Elbette, bu golf oynama metaforunda sınırlar dışında. Sizden bir rütbe ve dosya görevi yapmanızı, belki de bir forma yeni alanlar eklemenizi ve tüm form doldurma kodunu, kendi stilinize uyması için, makroları tanımlamak gibi bir sürü gölgeli karakter kullanarak yeniden düzenleme fırsatını kullanmaya karar verirseniz ve borsadan yeni öğrenmiş olduğunuz bazı müthiş şablon meta-programlama tekniğinden, geri dönüp düzeltmeniz istenecektir. Sen hareket etmeyi seçtin, sonuçları bunlar.
( Feragatname: Bu uygulamayı genel bir reddi is_base_of
görevi çözmek için yazdım ve üst düzey geliştiricilerden aldığım cehennemin her bir parçasını kazandım. Buna değer olduğunu söyledim. Bu kalitenin nasıl bir araya geldiğini görmek için birlikte C ++ teknik özelliklerinin 7 ilgisiz bölümünü bir araya getirerek şaşırtıcı bir şeyler yapın. Bunu üst düzey geliştiriciler edin! Bu boost
özel projeyi yasaklamak için ne elde edersiniz ! )