
William Charles
0
3113
327
Sizi zaten en temel programlama ilkelerinde yürüttük. 10 Temel Programlama İlkeleri Her Programcı İzlemelidir Bu amaçla, burada eyleminizi temizlemenize yardımcı olacak birkaç programlama ilkesi bulunmaktadır. Bilmeniz gereken, ancak ispat edebilecek başka bir sınıflandırma ilkesi var. daha da faydalı onlardan.
Oysa yukarıda belirtilen ilkeler size nasıl olunacağını öğretir. akıllı kodunuzla, aşağıdaki prensipler size olmayı öğretecektir bilge kodunuzla. Bazıları garip ve birçoğu komik, ama hepsi eşit derecede pratik ve önemli. Dikkat etmek!
1. Şişirme Prensibi
Bu, o kadar çok varyasyona sahip, bunlardan birini ana tane olarak seçmek zor. Belki de en “resmi” sürüm daha yaygın olarak adlandırılan Yazılım Zarflama Yasasıdır. Zawinski Yasası, Jamie Zawinski adını aldı ve UNIX Programlama Sanatı:
“Her program posta okuyana kadar genişletmeye çalışır. Bu kadar genişleyemeyen programlar, değiştirebilecek programlar ile değiştirilir..”
Programların zaman içinde giderek daha fazla özellik çekme ve kaçınılmaz olarak artan karmaşıklığa doğru sürüklenme eğiliminden bahsediyor. Bunu olarak biliyor olabilirsiniz özellik sürünme, Programın asıl amacı ile ilgisi olmayan yeni özelliklerin devam eden eklenmesidir. Özellik sürünmesi şişkinliğe neden olur ve şişkinlik çoğu zaman istenmez.
Bu aynı zamanda yazılım performansı için de geçerli olabilir:
“Yazılım mevcut tüm kaynakları tüketecek şekilde genişler.”
90'lı yıllarda, sabit diskler, CPU'lar ve RAM bugün olduğundan çok daha kısıtlayıcıydı ve programcılar sınırları içinde olabildiğince sığdırmak için çok çalıştı. Ancak şimdi daha büyük sürücülere, daha hızlı işlemcilere ve daha fazla RAM'e sahip olduğumuz için hala sınırlara saygı göstermeye çalışıyoruz. Her şey zamanla şişirilir. Bunu kontrol altında tutmak senin işin.
2. The “Daha da kötüsü daha iyi” zihniyet
Neredeyse Şişirme Prensibi'ne cevaben sanki Daha da kötüsü Daha iyi zihniyet, ilk olarak Richard P. Gabriel tarafından yazılım kalitesi hakkında yazdığı bir makalede yazılmıştır:
“Sınırlı ancak kullanımı basit olan yazılımlar, kullanıcı ve piyasaya tersinden daha çekici gelebilir.”
Başka bir deyişle, bunu anlamak akıllıca olacaktır. bir problem Yazılımınız çözmeyi ve sonra çok iyi Bu bir şeyde. Basit tut. Kendinizi ne kadar ince yatarsanız, proje o kadar yönetilemez hale gelir ve kullanıcılar için daha istenmeyen bir hale gelir.
Bunu görmezden geldiğinde ne olacak? İle bitiyorsun Yazılım Peter Principle:
“Aşırı karmaşık bir proje sonunda kendi geliştiricileri tarafından bile anlaşılamayacak kadar karmaşık hale gelecektir..”
Çalışanların mevcut yetkinliklerine dayanarak terfi ettikleri ve bir sonraki konumlarında beklenen yetkinliklerine göre terfi ettirilmediklerinde, tüm çalışanların sonuçta beceriksiz bir konumda olduklarını belirten daha geniş Peter Principle'den geliyor. Bu prensibi alın ve yazılımı uygulayın; daha kötü yazılımın neden daha iyi olabileceğini göreceksiniz.
3. Eagleson Yasası
“6 ay veya daha fazla aydır bakmadığınız herhangi bir kod, başkası tarafından da yazılmış olabilir..”
Görünüşe göre bu motivasyonel söyleme aslında kucaklamak için bir şey. Gerçek şu ki, kimse mükemmel değil. Şu anda bir dahi programcısı olduğunu düşünebilirsin ama her zaman öğrenebileceğin bir şey daha var, her zaman büyümek için daha fazla yer. Eğer eski kod ve kodlara tekrar bakarsanız, muhtemelen o zamandan beri yeni bir şey öğrendin.
Başka bir deyişle: eski bir projeye bakarsanız ve iyileştirebileceğiniz veya bir dahaki sefere farklı şekilde yapabileceğiniz hiçbir şey göremiyorsanız, muhtemelen bir programcı olarak durmuşsunuzdur.
4. En Küçük Şaşkınlık İlkesi
“Gerekli bir özelliğin yüksek bir şaşırtma faktörü varsa, özelliği yeniden tasarlamak gerekebilir.”
İlk yayınlanan IBM Systems Journal 1984’te, bu ilke bugün hala şaşırtıcı bir şekilde ilgilidir - belki de her zamankinden daha fazla.
Temel olarak yenilik ve aşinalık arasındaki hassas dengeye değinir: eğer bir yazılım ise çok farklı kendi türünden diğerlerinden ve kullanıcı beklentilerine uygun değil, o zaman muhtemelen kabul etmeyecekler. Etkileyici olacak kadar büyük ancak aşina olacak kadar küçük olan artan iyileştirmeler için çaba sarf etmek daha iyidir.
5. Sibernetik Entomoloji Kanunu
“Her zaman bir hata daha var.”
Genellikle denir Lubarsky'nin Sibernetik Entomoloji Kanunu, Bu Lubarsky'nin gerçekte kim olduğu belli değil. Bununla birlikte, prensibi tüm programcılar için doğru geliyor: kodunuzu ne kadar net yazdığınızdan bağımsız olarak, modüllerinizi ne kadar sağlam bir şekilde test ettiğiniz önemli değil, sınıflarınızı ne kadar sık sık sıkladığınızdan bağımsız olarak her zaman başka bir hata olacaktır..
Bir şekilde, bu bir serbest bırakma ilkesidir. Kesinlikle yapmalıyız çabalamak hatasız kod için mükemmeliyetçiliğin iyinin düşmanı olduğunu hatırlamak da önemlidir. Hata arayın, ortaya çıktıklarında düzeltin ve sonra devam edin.
6. Kernighan Kanunu
“Hata ayıklama, kodu ilk etapta yazmaktan iki kat daha zordur. Bu nedenle, kodu olabildiğince akıllıca yazarsanız, tanımı gereği hata ayıklamak için yeterince akıllı değilsinizdir..”
C programlama dilini incille birlikte yazan Brian Kernighan, C Programlamanın Neden Öğrenmeye Değer Olduğunu Öğreniyor Neden C Programlamanın Hala Öğrenmeye Değer Olduğunu Öğreniyor C ölü bir dil değil. Aslında, IEEE Spectrum dergisi 2017'de bunu 2. sıradaki en iyi dil olarak derecelendirdi. İşte bunun beş nedeni. , bu anlayışlı yasa ile ünlüdür. Bunun özü şudur: yazmak iyi kod yaz okunabilir kod yaz basit kod, bir şey olmadığı sürece zeki kod.
Programlama kaslarınızı fildişi kule karmaşıklığı ile esnetmeye çalışmak, temiz ve daha iyi kod yazmanın tam tersidir 10 Temizleyici ve Daha İyi Kod Yazmanın İpuçları 10 Temizleyici ve Daha İyi Kod Yazmanın Püf Noktaları Temiz kod yazmak aslında olduğundan daha kolay görünür, ancak faydaları buna değer. İşte bugün temizleyici kodunu yazmaya başlayabilirsiniz. . Kodunuz ne kadar zor anlaşılırsa, kaçınılmaz şekilde kırıldığında hata ayıklamak o kadar zor olur..
Ve Robert C. Martin'in açıkladığı gibi, bu da sadece hata ayıklama ile ilgili değil:
“Gerçekten de, okumaya yazmaya harcanan zamanın oranı 10'dan 1'e kadardır. Yeni kod yazma çabasının bir parçası olarak sürekli olarak eski kodları okuyoruz… [Bu nedenle,] okumayı kolaylaştırarak yazmayı kolaylaştırır.”
7. Rubber Duck Hata Ayıklama
Bu, bir teknik olduğu kadar bir ilke değil, ama onu dışarıda bırakmaktan kaçınmamız çok yararlı ve garip..
İlk söylenen Pragmatik Programcı, lastik ördek hata ayıklama , kodunuzu her seferinde tek bir satırda cansız bir nesneye (örneğin bir lastik ördek) açıklayarak hata ayıkladığınızda ortaya çıkar. İşe yarıyor çünkü açıklama eylemi beyninizin farklı kısımlarını tetikliyor ve tutarsızlıkları tespit etme ve yanlış yaptığınız yeri bulma olasılığınız daha yüksek.
Bu nedenle, lastik ördek, programcılar için şaşırtıcı derecede şık bir hediye olabilir. Programcılar için En İyi Geek Hediyeleri: Kodlayıcılar ve İnekler için 20 Fikirler Programcılar için En İyi Geek Hediyeleri: Kodlayıcı ve İnekler için 20 Fikirler Bir programcı için hediye mi arıyorsunuz? İşte mekanik klavyelerden dikili masalara ve diğerlerine kadar en iyi inek hediyeleri. , kendiniz için mi yoksa kendi programlama arkadaşınız için mi satın alabileceğiniz.
8. Doksan Doksan Kuralı
“Kodun ilk yüzde 90'ı, geliştirme süresinin ilk yüzde 90'ını oluşturuyor. Kodun kalan yüzde 10'u, geliştirme süresinin yüzde 90'ını oluşturuyor.”
Tom Cargill'in bu arsız küçük atasözü, programlamanın neden bu kadar sinir bozucu olabileceğinin kalbini alıyor: ne kadar yakın olduğunuzu düşünmeksizin, çok uzakta En iyi tahminlerinden bile. Bittiğini düşündüğün zaman, orada sadece yarıya kadarsın..
Hofstadter Yasası ile el ele gidiyor:
“Hofstadter Yasasını hesaba katsanız bile her zaman beklediğinizden daha uzun sürer.”
9. Parkinson Yasası
“İş, tamamlanması için uygun zamanı dolduracak şekilde genişler..”
Cyril Northcote Parkinson tarafından oluşturulan bu ilke, programlama için kesinlikle geçerli olan ve yukarıdaki Doksan Doksan Doksan Kuralı ile el ele giden daha geniş bir ilkedir: bir projeyi bitirmek için gereken süre tam olarak ne kadar sürecek. Yazılım geliştirmede, “erken bitirme” neredeyse bir efsane.
Yazılımınızı bitirmek ve göndermek istiyorsanız Parkinson Yasası, uygun son tarihlerin çok önemli olmasının nedenidir. Modern profesyonel programcıların genellikle çevik proje yönetimi ilkeleri önermesinin nedeni, Hayatınızı Düzenlemek için Çevik Proje Yönetimi İlkelerinin Nasıl Kullanılacağı Çevik Proje Yönetimi İlkelerinin Kullanımı Hayatınızı Düzenlemek için Çevik, en iyi proje yönetimi yöntemi olarak bilinen bir proje yönetimi yöntemi olarak iyi bir çerçevedir. Kişisel hayat. Ödünç alabileceğiniz prensipleri - ücretsiz çalışma sayfası indirme dahil! ve Asana Trello vs. Asana gibi proje yönetimi araçları: En İyi Ücretsiz Proje Yönetimi Aracı… Trello - Asana: En İyi Ücretsiz Proje Yönetimi Aracı… Trello ile Asana arasında seçim yapmak zor. Burada ücretsiz planları karşılaştırıyoruz ve ekibiniz için hangi proje yönetimi aracının en iyi olduğuna karar vermenize yardımcı oluyoruz. .
10. Brook Yasası
“Geç bir yazılım projesine insan gücü eklemek daha sonra yapar.”
Bir sonraki projeye geç kaldığınızda, çoğu programlama projesinin ayrıldığından daha fazla zamana ihtiyaç duyması nedeniyle, kodlayıcı eklemenin daha hızlı çözmeyeceğini unutmayın.
Aslında, muhtemelen alacak uzun Tamamlamak. Yalnızca yeni kodlayıcıları hızlandırmakla kalmaz, mevcut kodlayıcılarla çakışırlar. Daha fazla şeyin belgelenmesi gerekecek, herkesi aynı sayfada tutmak için daha fazla bürokrasiye ihtiyaç duyulacak ve daha fazla sürtünme sıkıntı zamanı deneyiminden çıkacak.
Programcı Olarak İlerlemek
Şimdi bu prensipleri bildiğinize göre, aslında gerçek dünya sadece okulda, bir web kursunda veya bir bootcamp'ta karşılaştığınız şeyleri değil, programlama dersi. Bu ilkeler yıllar ve yılların deneyim ve başarısızlıklarından kaynaklanmaktadır..
Bu yeni bilgeliğe sahip, şimdi yüksek talepli bir programlama kariyeri ortaya koyabilirsiniz 10 Şu Anda Talep Edilen Bilgisayar Programlama İşleri Şu Anda Talep Edilen 10 Bilgisayar Programlama İşi Şu Anda Talep Edilen Bilgisayar Programlama İşleri Şu anki manzarada bir programlama işi yapmak zor olabilir, başarı şansınızı artırmak için aşağıdaki konsantrasyonlardan birine odaklanmayı düşünün. daha gerçekçi beklentileri olan. Bunun için, programlama kariyer fırsatlarınızı nasıl en üst düzeye çıkarabileceğinizi öğrenin Programlama Kariyer Fırsatları Nasıl Geliştirilir? Programlama Kariyer Fırsatları Nasıl Geliştirilir? Programlama kariyerinizi başlatmayı, yeniden başlatmayı veya başka şekilde geliştirmeyi umuyorsanız, kolay değildir. Eğer kolejdeysen, şimdi tam zamanı. İşte sizi uzağa götürebilecek bazı ipuçları. . Programlamanın sizin için olmadığına karar verirseniz, endişelenmeyin - kodlamayan bu teknik işlerden birini düşünün bunun yerine Kodlama Herkes İçin Değil: 9 Kodlama Herkes İçin Değil: 9 Kodlama Herkes İçin Değil Onsuz Yapabileceğiniz Teknik İşler Teknoloji alanının bir parçası olmak istiyorsanız, cesaretiniz kırılmasın. Kodlama becerisi olmayan insanlar için birçok iş var.! .
Bu ilkelerden hangisi sizin için en doğrudur? Kaçırdığımız diğer tuhaf programlama ilkelerini biliyor musunuz? Aşağıdaki yorumları bize bildirin!