Spagetti Kodu Nedir ve Nasıl Önlenir?
Yayınlanan: 2020-07-03Lezzetli bir İtalyan yemeği için yeterli olsa da, kod tabanınızla ilgili duymak isteyeceğiniz son şeylerden biri spagetti'dir . Kodunuzun bir tabak spagetti kadar karışık olduğu fikri ürkütücüdür, ancak birçok geliştirici için fikir o kadar soyuttur ki, onu tam olarak ele alamazlar (veya nasıl önleneceğini veya düzeltileceğini anlayamazlar). Bu nedenle, bu yazıda spagetti kodunun gerçekte ne olduğuna dalmak istiyoruz, size bundan kaçınmak için bazı en iyi uygulamaları ve (bu gerçekleştiğinde) bununla nasıl başa çıkacağınızı göstermek istiyoruz.
Youtube Kanalımıza Abone Olun
Spagetti Kodu Nedir?
Spagetti kodu bir kabus, işte bu. Yukarıda söylediğimiz gibi, argo terim adını alır, çünkü dev bir spagetti makarnası gibi, bir ipi (kod parçasını) çekerseniz, sonunda bir diğerine ve diğerine dolanır. birbirine dolanan parçalar kırılır.
Örneğin, CSS'deki !important özelliğini düşünün. Bir tasarımcının devralınan stilleri geçersiz kılmasına ve stil sayfasının tamamını yeniden kodlamak zorunda kalmadan belirli bir öğe üzerinde kontrol sahibi olmasına izin vererek inanılmaz derecede güçlüdür. Ancak, onlar (veya gelecekteki geliştiriciler ve tasarımcılar) başka bir şeyi ayarlamaları gerektiğinde, öncekini geçersiz kılmak için başka bir !important etiketi ekleyebilirler. Ve bunun gibi. Ancak geri dönüp o yığındakilerden herhangi birini kaldırır veya değiştirirseniz, sayfadaki herhangi bir sayıda stil bozulabilir.
İşte bundan kaçınmaya çalışıyoruz.
Spagetti Kodundan Kaçınmak İçin En İyi Uygulamalar
1. Kodlama Standartları Geliştirin
Spagetti kodunu önlemenin bir numaralı yolu, kuruluşunuzda veya projenizde standartlar oluşturmak ve kodlamaktır. WordPress gibi projeleri mümkün kılan şey kodlama standartlarıdır. Binlerce geliştirici WP Core üzerinde çalıştı, ancak WordPress Kodlama Standartları, hepsinin aynı yönergeler dahilinde çalışmasını ve aynı parametreler içindeki görevleri aynı şekilde gerçekleştirmesini sağladı.
Kodlama standartları, yalnızca uyguladığınız kurallardır. Herkesin kodunun aynı düzende çalışmasını sağlarlar, böylece hataların bulunması ve düzeltilmesi kolay olur ve gelecekteki geliştiriciler (hatta siz veya mevcut ekibiniz) her bir kod satırının mümkün olduğunca verimli bir şekilde ne yaptığını tam olarak bilebilir. Susan'ın kodu testlerini geçemiyorsa, içeri giremez. Janine'in kodunun çalıştırılacak testleri yoksa, çekme isteği reddedilir. Belki Daniel en son çekme isteğinde div'leri kullanmıyor. İşler bölünene kadar birleştirme yok.
Ayrıca, spagetti kodu tarafından rahatsız edilen bazı orijinal kod tabanları, işlevsel mantığı olmayan eski dillerdi. Kod, işlev tabanlı değildi ve bu nedenle, kod içindeki belirli satırlara çeşitli mantıklar yönlendirildi. Küçük projelerle, bu gezinmek için çok kötü değil. Projeleri ölçeklendirmeye başladığınızda, belirli dosyalara ve kod satırlarına doğrudan referanslara sahip olmak bu gelişmeyi engelleyebilir. Dosyalar kaybolabilir, satırlar silinebilir veya yanlış numaralandırılabilir. Ve spagettinin hangi ipinin çekildiğini bulmak için hata ayıklamak yüzlerce insan-saat sürebilir. Kodlama standartlarına sahip olmak, bu tür karışıklıkların sık sık olmasını engelleyebilir.

Yani standartlar geliştirerek, bir spagetti kodu havuzuna sahip olma şansınızı çok etkili bir şekilde azalttınız. Genel olarak kodlama standartları hakkında daha fazla bilgi edinmek istiyorsanız, GeeksforGeeks'in mükemmel bir kılavuzu var.
2. Bir Stil Rehberini Takip Edin
Kodlama standartlarına ek olarak, izlenecek bir stil kılavuzuna sahip olmak, kodunuzun çok karışık olmasını da önleyebilir. Teoride kulağa benzer gelse de, ikisi çok farklı. Kodlama standartları, kodun verimli çalışmasını sağlamak için geliştiricilerinizin izlediği uygulanabilir kurallar olarak vardır. Bunlar projeden projeye veya bir organizasyon içinde takımdan takıma değişebilir.
Bununla birlikte, bir stil kılavuzu genellikle dil bazında yazılır ve kodu okunabilir ve işlevsel hale getirmek için bir dizi en iyi uygulama sağlar. Örneğin Airbnb, React.js için en iyi stil kılavuzlarından birini oluşturdu. Eğer bir React geliştiricisi değilseniz, bu neredeyse hiçbir şey ifade etmez. Ancak React geliştiricileri için buna bakmak, kodunuzun nasıl yapılandırılması ve yazılması gerektiği konusunda gerçek bir yardım sağlayabilir.
Genel kodlama standartlarının aksine bir stil kılavuzu, zorunlu olarak uygulanabilir kurallar değildir. Kodun daha tek tip hale getirilmesine yönelik önerilerdir, bu da kodun okunmasını kolaylaştırır. Bu, spagetti kodunu önler, çünkü herhangi bir zamanda tam olarak hangi ipi çektiğinizi bilirsiniz.
3. Kodunuzu Yorumlayın
Kod yorumları, depolarınızın spagetti koduyla dolmasını önlemenin belki de en kolay yoludur. Bir şey yazdığınızda, ne yaptığı hakkında bir yorum oluşturun. Karmaşık bir işlev veya snippet ise, mantığın ne yaptığını ve neden önemli olduğunu açıklayın.
Yine de, karışıklıkları önlemek için kod yorumlarına güvenerek birkaç sorunla karşılaşırsınız. Birincisi, projelere çok fazla zaman katmasıdır. Bir son teslim tarihine ulaşmak veya bir özelliğin doğru çalıştığından emin olmak için uğraşırken, ayrıntılı bir açıklama yazmak her zaman aklınızın önünde değildir. Ve yorum yapmaya başlarsanız ve projenin ortasında düşerseniz veya bir sonraki geliştirme devam etmezse? Bu büyük bir tabak spagetti.
Diğerleri, geliştirdikleri büyük hacim nedeniyle, kodlarına yorum yapma - veya daha önce yapmamışlarsa kodlarını yorumlamayı öğrenme - fikri karşısında şaşkına dönerler. Hangisi tamamen geçerlidir. Ancak ara sıra önemli (hatta tehlikeli) satırlar veya pasajlar hakkında yorum yapsanız bile, birisini, potansiyel olarak kendinizi, geçmişte onu kullanma zahmetinden, ne işe yaradığını anlamaya çalışmaktan kurtaracaksınız.
Toplama
Spagetti kodu bir kabus, tekrar ediyorum. Devasa bir depoda hangi kod satırının değiştirildiğini anlamaya çalışmak için sayısız saatler harcamak, geliştirici olmanın en kötü yanlarından biridir. Hata ayıklama iyidir (ish). Hata ayıklamak ve nereden başlayacağınızı bilememek veya uzaktan bile soruna neyin neden olduğunu bilmemek değil. Ancak ekibiniz kodlama standartları belirlerse, bir dil stili kılavuzu izlerse ve hatta küçük bir kod açıklama politikasına sahipse, dijital spagetti tabağınızın normalde olduğundan çok daha az karışık olma olasılığı çok yüksektir.
Spagetti kodunu önlemek için ne yaparsınız?
Makale öne çıkan görseli Donnay Style / Shutterstock.com
