İlan

Sizi zaten en temel programlama ilkeleri Her Programcının Uyması Gereken 10 Temel Programlama İlkesiDaima yazılım üzerinde çalışabilecek herkes tarafından korunabilecek bir kod yazın. Bu amaçla, hareketinizi temizlemenize yardımcı olacak birkaç programlama ilkesi. Daha fazla oku bilmeniz gerekiyor, ancak kanıtlayabilecek başka bir programlama ilkeleri sınıfı var daha da faydalı onlardan daha.

Yukarıda belirtilen ilkeler, size akıllı kodunuzla, aşağıdaki ilkeler size bilge kodunuzla. Bazıları garip ve birçoğu esprili, ama hepsi aynı derecede pratik ve önemli. Dikkat etmek!

1. Şişirme Prensibi

Bunun o kadar çok varyasyonu var ki, ana olanı seçmek zor. Belki de en “resmi” versiyon, daha yaygın olarak adlandırılan Yazılım Zarflama Yasasıdır Zawinski Yasası, Jamie Zawinski'nin adını aldı ve UNIX Programlama Sanatı:

“Her program posta okuyana kadar genişletmeye çalışır. Bu kadar genişleyemeyen programların yerini, değiştirebilecek programlar alır. ”

Programların zaman içinde gittikçe daha fazla özellik çekme ve kaçınılmaz olarak artan karmaşıklığa doğru kayma eğiliminden bahsediyor. Bunu şu şekilde biliyor olabilirsiniz:

instagram viewer
özellik sürünme, programın ana amacı ile ilgisi olmayan yeni özelliklerin devam eden ekidir. Özellik sürünmesi şişmeye yol açar ve şişlik genellikle istenmeyen bir durumdur.

Bu, yazılım performansı için de geçerli olabilir:

“Yazılım mevcut tüm kaynakları tüketmek için genişliyor.”

90'lı yıllarda, sabit sürücüler ve CPU'lar ve RAM bugünkünden çok daha kısıtlayıcıydı ve programcılar sınırlar dahilinde olabildiğince uyması için çok çalıştılar. Ancak artık daha büyük sürücülerimiz, daha hızlı CPU'larımız ve daha fazla RAM'imiz olduğuna göre, hala sınırlara uymaya çalışıyoruz. Her şey zamanla şişer. Bunu kontrol altında tutmak sizin işiniz.

Dizüstü bilgisayar programlama mac hiç duymadım en tuhaf programlama ilkeleri

2. “Daha kötüsü daha iyidir” Zihinselliği

Neredeyse Bloat Prensibine yanıt olarak, Kötü Daha İyi Bir Düşünce, ilk olarak Richard P. Gabriel, yazılım kalitesi hakkında yazdığı bir makalede:

“Sınırlı ancak kullanımı kolay yazılım, kullanıcı ve pazar için tersine göre daha cazip olabilir.”

Başka bir deyişle, bir problem yazılımınız çözmeyi ve sonra çok iyi o tek şeyde. Basit tutun. Kendinizi ne kadar inceltirseniz, proje o kadar yönetilmez hale gelir ve kullanıcılar için o kadar istenmeyen hale gelir.

Bunu görmezden geldiğinizde ne olur? Sonunda Yazılım Peter Prensibi:

“Aşırı karmaşık bir proje sonunda kendi geliştiricileri tarafından bile anlaşılamayacak kadar karmaşık hale gelecektir.”

Bu, çalışanların mevcut durumlarına göre terfi ettiklerinde daha geniş Peter Prensibi'nden gelir. yetkinlikleri ve bir sonraki pozisyonlarında beklenen yetkinliklerini değil, tüm çalışanlar nihayetinde beceriksizliği. Bu prensibi alın ve yazılıma uygulayın, daha kötü yazılımların neden daha iyi olabileceğini göreceksiniz.

3. Eagleson Yasası

“Altı ay veya daha uzun bir süredir bakmadığınız kendi kodlarınız başka biri tarafından da yazılmış olabilir.”

Bu görünüşte motivasyon dışı söyleme aslında kucaklanacak bir şeydir. Gerçek şu ki, kimse mükemmel değil. Şu anda dahi bir programcı olduğunuzu düşünebilirsiniz, ancak her zaman daha fazla öğrenebileceğiniz bir şey, her zaman büyümek için daha fazla alan. Eğer eski kodlara ve hışırtılara tekrar bakarsanız, muhtemelen o zamandan beri yeni bir şey öğrendin.

Başka bir deyişle, eski bir projeye tekrar bakarsanız ve bir dahaki sefere geliştirebileceğiniz veya farklı bir şekilde yapabileceğiniz hiçbir şey göremiyorsanız, muhtemelen bir programcı olarak durmuş olursunuz.

4. En Az Şaşkınlık İlkesi

“Gerekli bir özellik yüksek bir şaşkınlık faktörüne sahipse, özelliğin yeniden tasarlanması gerekebilir.”

İlk kez IBM Sistem Günlüğü 1984 yılında, bu ilke bugün hala şaşırtıcı derecede geçerli - belki de her zamankinden daha fazla.

Temel olarak inovasyon ve aşinalık arasındaki hassas dengeye değinir: bir yazılım parçası çok farklı türünün başkalarından, kullanıcı beklentilerine uymuyorsa, muhtemelen kabul etmeyecekler. Etkileyici olacak kadar büyük, ancak tanıdık kalacak kadar küçük olan artımlı iyileştirmeler için çabalamak daha iyidir.

Dizüstü bilgisayar kahvesini programlamayı hiç duymadığınız en tuhaf programlama ilkeleri

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. Ancak, prensibi tüm programcılar için geçerlidir: Kodunuzu ne kadar temiz yazarsanız yapın, nasıl olursa olsun Modüllerinizi sağlam bir şekilde test edersiniz, sınıflarınızı ne sıklıkta yeniden düzenlerseniz kontrol edin, her zaman başka bir hata olacaktır.

Bir bakıma, bu bir özgürleşme ilkesidir. Biz kesinlikle gerekirken çabalamak hatasız kod için, mükemmeliyetçiliğin iyinin düşmanı olduğunu hatırlamak da önemlidir. Böcek arayın, ortaya çıktıklarında onları düzeltin ve sonra devam edin.

6. Kernighan Yasası

“Hata ayıklama, kodu ilk etapta yazmaktan iki kat daha zor. Bu nedenle, kodu olabildiğince akıllıca yazarsanız, tanımı gereği, hata ayıklamak için yeterince akıllı değilsiniz. ”

Brian Kernighan, aynı yazar C programlama dili incili C Programlama Neden Öğrenmeye Değer?C ölü bir dil değildir. Aslında, IEEE Spectrum dergisi 2017'de onu en iyi 2 dil olarak sıraladı. İşte bunun beş nedeni. Daha fazla oku , bu anlayışlı yasa ile ünlüdür. Bunun temel noktası şudur: yazma iyi kod, yazma okunabilir kod, yazma basit kodunu, olmadığı sürece zeki kod.

Programlama kaslarınızı fildişi kule karmaşıklığıyla esnetmeye çalışmak, ne anlama geldiğinin tam tersidir. temiz ve daha iyi kod yaz Daha Temiz ve Daha İyi Kod Yazmak için 10 İpucuTemiz kod yazmak aslında olduğundan daha kolay görünüyor, ancak faydaları buna değer. Bugün daha temiz kod yazmaya nasıl başlayabileceğiniz aşağıda açıklanmıştır. Daha fazla oku . Kodunuzu anlamak ne kadar zorsa, kaçınılmaz olarak bozulduğunda hata ayıklamak o kadar zor olacaktır.

Ve Robert C. olarak Martin açıklıyor, sadece hata ayıklamakla ilgili değil:

“Gerçekten, okumaya yazmak için harcanan zaman oranı 10'a 1'in üzerindedir. Yeni kod yazma çabasının bir parçası olarak sürekli olarak eski kodu okuyoruz... [Bu nedenle, okumayı kolaylaştırmak yazmayı kolaylaştırır. ”

Lastik ördek programlama hiç duymadım en tuhaf programlama ilkeleri

7. Lastik ördek hata ayıklama

Bu, bir teknik olduğu kadar çok bir ilke değil, ama onu dışarıda bırakmamız için çok yararlı olacağımız kadar faydalı ve garip.

İlk söylenen Pragmatik Programcı, lastik ördek hata ayıklama kodunuzu cansız bir nesneye (örneğin, bir lastik ördek) her seferinde bir satır açıklayarak kırık yazılımda hata ayıkladığınız zamandır. Çalışıyor çünkü açıklama eylemi beyninizin farklı bölümlerini tetikliyor ve tutarsızlıkları tespit etme ve nerede yanlış yaptığınızı bulma olasılığınız daha yüksek.

Bu nedenle, bir lastik ördek bir programcılar için şaşırtıcı derecede şık bir hediye Programcılar İçin En İyi Geek Hediyeleri: Kodlayıcılar ve İnekler için 20 FikirBir programcıya hediye mi arıyorsunuz? İşte mekanik klavyelerden ayakta çalışma masalarına ve daha fazlasına kadar en iyi inek hediyeleri. Daha fazla oku ister kendiniz isteyin ister bir programlama arkadaşınız için satın alın.

8. Doksan Doksan Kural

“Kodun ilk yüzde 90'ı, geliştirme süresinin ilk yüzde 90'ını oluşturuyor. Kodun geri kalan yüzde 10'u geliştirme süresinin diğer 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 kalbinde yer alıyor: Bitirmeyi ne kadar yakın düşünürseniz düşünün, çok daha uzakta en iyi tahminlerinizden bile. Bittiğini düşündüğün zaman, orada sadece yarı yoldasın.

Hofstadter Yasası ile el ele gider:

“Hofstadter Yasasını göz önünde bulundursanız bile, her zaman beklediğinizden daha uzun sürer.”

Dizüstü bilgisayar masası kahve krizi zaman hiç duymadım garip programlama ilkeleri

9. Parkinson Yasası

“İş, tamamlanması için gereken süreyi dolduracak şekilde genişliyor.”

Cyril Northcote Parkinson tarafından oluşturulan bu tek ilke, programlama için kesinlikle geçerli olan ve devam eden daha geniş bir ilkedir. yukarıdaki Doksan Doksan Kural ile el ele: bir projeyi bitirmek için ne kadar zamanınız varsa, bunun tam olarak ne kadar süreceği al. Yazılım geliştirmede, “erken bitirme” neredeyse bir efsanedir.

Yazılımınızı bitirmek ve göndermek istiyorsanız, Parkinson Yasası uygun son tarihlerin çok önemli olmasının nedenidir. Bu nedenle modern profesyonel programcılar genellikle çevik proje yönetimi ilkeleri Hayatınızı Organize Etmek İçin Çevik Proje Yönetimi İlkeleri Nasıl KullanılırEn iyi proje yönetimi yöntemi olarak bilinen çevik, kişisel hayatınızı yönetmek için harika bir çerçevedir. Size hangi ilkeleri ödünç alabileceğinizi göstereceğiz - ücretsiz çalışma sayfası indirme dahil! Daha fazla oku ve Asana gibi proje yönetim araçları Trello vs. Asana: En İyi Ücretsiz Proje Yönetim Aracı ...Trello ve Asana arasında seçim yapmak zordur. Burada ücretsiz planları karşılaştırıyoruz ve ekibiniz için hangi proje yönetim aracının en iyi olduğuna karar vermenize yardımcı oluyoruz. Daha fazla oku .

10. Brook’un Yasası

“Geç bir yazılım projesine insan gücü eklemek daha sonra bunu yapar.”

Bir sonraki projeye geç kaldığınızda, muhtemelen çoğu programlama projesinin ayrılandan daha fazla zamana ihtiyacı olduğu için, kodlayıcı eklemenin bunu daha hızlı çözmeyeceğini unutmayın.

Aslında, muhtemelen uzun Tamamlamak. Sadece yeni kodlayıcıları hızlandırmakla kalmaz, aynı zamanda mevcut kodlayıcılarla da çatışırlar. Daha fazla şeyin belgelenmesi gerekecek, herkesi aynı sayfada tutmak için daha fazla bürokrasiye ihtiyaç duyulacak ve tüm crunch-time deneyiminden daha fazla sürtünme çıkacak.

Programcı Olarak İleri Gitmek

Artık bu ilkeleri bildiğinize göre, aslında gerçek dünya yalnızca okulda, bir web kursunda veya bir bootcamp'ta karşılaştığınız şeyleri değil. Bu ilkeler yıllar ve yıllar süren deneyim ve başarısızlıklardan gelir.

Bu yeni keşfedilen bilgelik ile, şimdi bir yüksek talep programlama kariyeri Şu Anda Talep Gören 10 Bilgisayar Programlama İşiBir programlama işine inmek mevcut manzarada zor olabileceğinden, başarı şansınızı artırmak için aşağıdaki konsantrasyonlardan birine odaklanmayı düşünün. Daha fazla oku daha gerçekçi beklentilerle. Bunun için nasıl yapılacağını öğrenin programlama kariyer fırsatlarınızı en üst düzeye çıkarın Programlama Kariyer Fırsatları Nasıl GeliştirilirProgramlama kariyerinizi başlatmayı, yeniden başlatmayı veya başka bir şekilde geliştirmeyi umuyorsanız, bu kolay değildir. Eğer üniversitedeyseniz, şimdi tam zamanı. İşte sizi uzağa götürebilecek bazı ipuçları. Daha fazla oku . Programlamanın sizin için uygun olmadığına karar verirseniz üzülmeyin - bunlardan birini düşünün bunun yerine kodlamayan teknoloji işleri Kodlama Herkes İçin Değildir: Onsuz Yapabileceğiniz 9 Teknoloji İşiTeknoloji alanının bir parçası olmak istemiyorsanız cesaretiniz kırılmasın. Kodlama becerisi olmayan insanlar için birçok iş var! Daha fazla oku .

Bu ilkelerden hangisi size en uygunudur? Kaçırdığımız diğer garip programlama prensiplerini biliyor musunuz? Aşağıdaki yorumlarda bize bildirin!

Joel Lee'nin bir B.S. Bilgisayar Bilimi ve altı yılı aşkın profesyonel yazma deneyimi. MakeUseOf'un Genel Yayın Yönetmeni.