Kodunuzu Daha İyi Hale Getirecek Temel Geliştirici Becerisi

Kodunuzu Daha İyi Hale Getirecek Temel Geliştirici Becerisi

Çevirmenin Önsözü: Bu makaleyi okuduktan sonra şaşırabilirsiniz, hatta kızabilirsiniz. Evet, biz de şaşırdık: Yazarın, ekipteki hiyerarşiyi, "bunu hızlı ve mantıksız yap" statüsündeki görevleri belirlemeyi hiç duymadığı söyleniyor. Evet doğru, bu biraz tuhaf bir metin. Aslında yazar, programcının bir sistem mimarı rolünü üstlenmesini önermektedir - o zaman neden bir mimara ihtiyacınız var? Ancak tüm bu itirazlar sizi asıl meseleye, yani neden yine de bu metni alıp tercüme ettiğimize karşı körleştirmemelidir. Rollerden bahsetmiyor. Bu metin profesyonel bir yaklaşım ve farkındalıkla ilgilidir. Gerçek şu ki, eylemlerinizin anlamını düşünmeden "size söyleneni yaptığınız" sürece asla harika bir programcı olamayacaksınız.

Gereksiz kodlara hayır deyin. Tek yapmanız gereken üç harfi bir araya getirip kelimeyi söylemek. Bunu birlikte yapmaya çalışalım: "Hayır!"

Fakat bekle. Bunu neden yapıyoruz? Sonuçta bir programcının asıl görevi kod yazmaktır. Peki sizden istenen herhangi bir kodu yazmanız gerekiyor mu? HAYIR! "Ne zaman kod yazmamanız gerektiğini anlamak bir programcı için muhtemelen en önemli beceridir." Okunabilir Kod Sanatı.

Hatırlatıyoruz: tüm "Habr" okuyucuları için - "Habr" promosyon kodunu kullanarak herhangi bir Skillbox kursuna kayıt olurken 10 ruble indirim.

Skillbox şunları önerir: pratik kurs "Mobil Geliştirici PRO".

Programlama problem çözme sanatıdır. Ve sizler bu sanatın ustalarısınız.
Bazen işe mümkün olan en kısa sürede başlamak için elimizdeki görevi tamamlamaktan başka hiçbir şeyi düşünmüyoruz. Ve bu daha da ciddi sorunlara yol açabilir.

Programcılar neye göz yumuyor?

Yazdığınız tüm kodlar diğer geliştiriciler tarafından anlaşılabilir olmalı, test edilmeli ve hata ayıklamaları yapılmalıdır.

Ancak bir sorun var: Ne yazarsanız yazın, yazılımınızı karmaşıklaştıracak ve muhtemelen gelecekte hatalara yol açacaktır.

Rich Skrent'e göre, kod bizim düşmanımızdır. İşte o yazıyor:

“Kod kötü çünkü çürümeye başlıyor ve sürekli bakım gerektiriyor. Yeni özellikler eklemek çoğu zaman eski kodun değiştirilmesini gerektirir. Ne kadar büyük olursa, hata oluşma olasılığı da o kadar yüksek olur ve derlemek için o kadar fazla zaman gerekir. Başka bir geliştiricinin bunu anlaması daha fazla zaman alır. Ve eğer yeniden düzenleme gerekiyorsa, o zaman kesinlikle değiştirilmeye değer parçalar olacaktır. Büyük kod genellikle projenin esnekliğinin ve işlevselliğinin azalması anlamına gelir. Basit ve zarif bir çözüm, karmaşık kodlardan daha hızlıdır."

Ne zaman kod yazmamanız gerektiğini nasıl anlarsınız?

Sorun, programcıların sıklıkla uygulamalarının ihtiyaç duyduğu özelliklerin sayısını abartmasıdır. Sonuç olarak, kodun birçok bölümü yarım kalır veya kimse bunları kullanmaz ancak uygulamayı karmaşıklaştırır.

Projenizin neye ihtiyacı olduğunu ve neye ihtiyacı olmadığını açıkça anlamalısınız.

Bunun bir örneği, yalnızca tek bir görevi - e-postayı yönetmeyi - çözen bir uygulamadır. Bu amaçla iki işlev tanıtıldı: mektup gönderme ve alma. Posta yöneticisinin aynı zamanda görev yöneticisi olmasını da beklememelisiniz.

Uygulamanın asıl görevi ile ilgili olmayan özelliklerin eklenmesine yönelik tekliflere kesinlikle “hayır” demeniz gerekiyor. Bu tam olarak ek koda ihtiyaç duyulmadığının netleştiği andır.

Uygulamanızın odağını asla kaybetmeyin.

Her zaman kendinize şunu sorun:

— Şimdi hangi işlev uygulanmalı?
— Hangi kodu yazmalıyım?

Aklınıza gelen fikirleri sorgulayın ve dışarıdan gelen önerileri değerlendirin. Aksi takdirde fazladan kod projeyi sonlandırabilir.

Gereksiz şeyleri ne zaman eklememeniz gerektiğini bilmek, kod tabanınızı sıkı kontrol altında tutmanıza yardımcı olacaktır.

Kodunuzu Daha İyi Hale Getirecek Temel Geliştirici Becerisi

Yolun en başında programcının yalnızca iki veya üç kaynak dosyası vardır. Basit. Uygulamanın derlenmesi ve başlatılması minimum zaman gerektirir; Nerede ve neyi arayacağınız her zaman açıktır.

Uygulama genişledikçe giderek daha fazla kod dosyası görünür. Kataloğu her biri yüzlerce satırla dolduruyorlar. Tüm bunları doğru bir şekilde organize etmek için ek dizinler oluşturmanız gerekecektir. Aynı zamanda, hangi işlevlerin neden sorumlu olduğunu ve hangi eylemlerin bunlara neden olduğunu hatırlamak giderek zorlaşıyor; hataları yakalamak da daha fazla zaman alır. Proje yönetimi de daha karmaşık hale geliyor; bir değil, birden fazla geliştiricinin her şeyi takip etmesi gerekiyor. Buna bağlı olarak hem parasal hem de zamansal maliyetler artmakta ve geliştirme süreci yavaşlamaktadır.

Sonunda proje devasa boyutlara ulaşıyor ve her yeni özelliğin eklenmesi giderek daha fazla çaba gerektiriyor. Çok önemsiz bir şey için bile birkaç saat harcamanız gerekir. Mevcut hataların düzeltilmesi yenilerinin ortaya çıkmasına neden olur ve başvuru yayınlanma tarihlerinin kaçırılmasına neden olur.

Artık projenin ömrü boyunca mücadele etmemiz gerekiyor. Neden?

Gerçek şu ki, ne zaman ekstra kod eklememeniz gerektiğini anlamadınız ve her öneri ve fikre "evet" yanıtı verdiniz. Kördün, yeni şeyler yaratma isteği önemli gerçekleri görmezden gelmene sebep oldu.

Kulağa korku filmi senaryosu gibi geliyor değil mi?

Evet demeye devam edersen olacağı da tam olarak budur. Kodun ne zaman eklenmemesi gerektiğini anlamaya çalışın. Gereksiz şeyleri projeden kaldırın; bu hayatınızı çok daha kolaylaştıracak ve uygulamanın ömrünü uzatacaktır.

"En verimli günlerimden biri 1000 satırlık kodu sildiğim zamandı."
— Ken Thompson.

Ne zaman kod yazmamanız gerektiğini öğrenmek zordur. Ama bu gerekli.

Evet, geliştirici yoluna yeni başladığınızı ve kod yazmak istediğinizi biliyorum. Bu iyi, ilk izlenimi kaybetmeyin, ancak heyecan nedeniyle önemli faktörleri de gözden kaçırmayın. Her şeyi deneme yanılma yoluyla gerçekleştirdik. Siz de hatalar yapacak ve onlardan ders alacaksınız. Ancak yukarıdakilerden ders alabilirseniz çalışmanız daha bilinçli hale gelecektir.

Yaratmaya devam edin ama ne zaman hayır diyeceğinizi bilin.

Skillbox şunları önerir:

Kaynak: habr.com

Yorum ekle