Fetiş: Codethulhu nasıl çağrılır

Tam metin 3476 Kelimeler, tahmini öğrenme süresi 10 dakika

Kaynak: Unsplash

Xiaoxin daha önce yazılım kalitesinin iyileştirilmesi üzerine birçok makale yayınladı.Bu bakış açısı, yazılım kalitesini iyileştirmek isteyen okuyuculara eğilimlidir, ancak sisteme daha fazla hatayla bulaşmak isteyen küçük ortakları yanlışlıkla görmezden gelir.

Evet, evet, dünyada harikalar yok ve böcekler de sevimli.

Bu nedenle, böcek severler, aşağıdaki Xiaoxin, sistematik olarak bir böcek üreme alanı yaratabilecek ilk fetişi zihninde tanıtmak istiyor.

Okuma uyarısı: Bu makale ironik olabilir ve rahatsızlığa neden olabilir. Lütfen dikkatlice okuyup kodlayın.

1. Çok karmaşık bir sorun bulun

Kaynak: Unsplash

çok iyi! Kod tabanına, karmaşıklığın asalak büyümesini bulaştırmayı seçtiniz, bu da yalnızca sizin yapabileceğiniz sayısız saatlik karmaşık işlere (yani "iş güvenliği") neden oldu.

Fetiş, yüksek karmaşıklık oluşturmanın iyi bir yoludur ve yalnızca onu iyi bilen geliştiriciler, kalite güvencesini kızdırmadan bulabilir.

Shenwu'nun "Codethulhu", "Junior Developer's Nemesis" ve "Quality Assurance Analyst" gibi bazı takma adları da vardır.

Önce bir problem çözülmelidir. Bu makalenin görevinin karmaşıklığı artırmak ve işleri sürdürmek olduğunu biliyorum, sorunları çözmek esas değil. Ama lütfen sabırlı olun ve beni dinleyin.

Kodun çözdüğü sorun yeterince özel değilse veya yeterince önemli değilse, gelecekteki geliştiricilerin bundan kaçınması veya hatta tamamen unutması muhtemeldir.

Yani aradığımız soru:

· Çözmek için yüksek derecede beceri ve düşünme yeteneğine ihtiyaç duyan;

· İyi anlayamama veya anlamak için zamana ihtiyaç duymama;

· Diğer birçok karmaşık sistem ve süreçle etkileşimde bulunun ve karmaşıklıklarının bir kısmını gösterin;

· Yeni özelliklere olan ihtiyaç, büyüme ve karmaşıklığı genişletme potansiyeline sahip;

· Halihazırda mevcut olan basit ikame yoktur.

Hiçbir şey beklemiyorsanız, iki seçenek vardır: yeni karmaşık özelliklerin gelmesini bekleyin veya genişlemek için kod tabanının mevcut katmanından büyük bir dosya çıkarın.

Dikkate alınabilecek nesneler:

· İletişim / web hizmet katmanı;

· Özel kullanıcı arayüzü kontrolleri;

· Veri erişim katmanı;

· Nesne serileştirme / seriyi kaldırma mantığı;

· Kamu hizmeti (iş mantığı) katmanı.

Tabii ki, iş sorunları tüm konuların en özelidir, ancak kuruluşunuz Codethulhu'ya ölçeklenecek kadar büyük özellikler sağlamaya istekli değilse, yukarıdakilerden herhangi biri uygundur.

2. Codethulhu'nun Doğuşu

Kaynak: Unsplash

Bir fırsat bulunduğunda ve büyük bir sorun keşfedildiğinde, en karmaşık aşamaya ulaşılır. Okumadan önce kendine bir darbe indir.

Fetişin hayatta kalması ve veri tabanına girmesi için uygulanabilir olması gerekir. Yani her şeyden önce çalışmadaki (veya bulunan) tüm sorunları çözmeli veya çoğunlukla çözmeliyiz.

Bu yüzden önce çok çalışmalıyız. Büyük bir dosyada kasıtlı olarak yaratılan büyük bir problem bir yana, büyük özelliğin daha sonra üreteceği problemi çözmek için çok çalışmalısınız.

Üç, enfeksiyonu genişlet

Ancak, devasa fetişler bir gecede büyümeyecek. Yetiştirmek istediğimiz devlerin gelişmesi için zaman ve yatırım gerekiyor. Kasıtlı xiulian uygulaması gerekli değildir, ancak kesinlikle yardımcı olacaktır.

Unutmayın: aynı kategoriye olabildiğince fazla mantık koyun.

Sorun nesne için geçerliyse, nesnede çözün. gibi:

· Seri hale getirme

· Seriyi kaldırma

· Veri erişimi

· Doğrulama

· Analiz

· Biçim

· Kerestecilik

· Konu Yönetimi

· Durum Yönetimi

· Önbellek

· Web servis çağrısı

Bunlar tanrılarda çözülebilir.

Aşağıdaki formülü hatırlayın:

Probleminiz çok özeldir ve çözdüğünüz problem çok karmaşıktır, bu yüzden diğer kodlardan farklıdır. Bu problemde başka kod da varsa, artık özel değildir. Kodun içinde özel bir mantığa ihtiyaç vardır.

Geliştirme sırasında, koda yalnızca birkaç yorum eklemeniz önerilir. Sonuçta, kod otomatik olarak kaydedilmelidir, değil mi?

Harici kitaplıklardan ve mevcut her yeni dil özelliğinden, özellikle de meslektaşların aşina olmadığı özelliklerden yararlandığınızdan emin olun.

İç içe geçmiş üçlü ifadeler ve normal ifadeler, yalnızca özel geliştiricilerin koda erişebilmesini etkili bir şekilde sağlayabilir.

Unutmayın: Başkaları öğrenip soru sormadan önce fetişi beslemek için yalnızca sınırlı bir süreniz var, bu yüzden bu zamanı çok büyük bir ölçeğe ve son derece yüksek karmaşıklığa ulaşmak için iyi kullanın.

Kaynak: Unsplash

Dördüncüsü, yeni doğan Codethulhu'yu koruyun

Büyük bir karmaşık sınıf oluştururken sorgulanırsa Tek Sorumluluk İlkesini (SRP) izlediği ve iş sorunlarını tek bir dosyada çözdüğü söylenir.

SRP sebebi hala sorgulanırsa, toplantıya geç kalma bahanesiyle uzaklaşın. Şüphe devam ederse, tavrınızı değiştirme zamanı gelmiştir.

Hakarete uğramış ve gücenmiş gibi davranmanız ve ardından diğer taraftan çözülen sorunun tüm karmaşıklığını anında açıklamasını istemeniz gerekir. Karşı taraf sorunu veya çözümü tam olarak tanımlayamazsa, anında mücadele edin ve konuşmayı sonlandırın.

Karşı taraf gerçekten haklıysa teknik ve bahsedilmeyen diğer konuları araştırın. Doğrulama, kalıcılık, iş parçacığı, bulanık uç durumlar vb.

İş parçacıkları söz konusu olduğunda, kodunuzun karmaşıklığının performansı artıracak şekilde oluşturulduğunu iddia etmek daha iyidir (ve eğer bu doğruysa daha iyi olur).

Karşı taraf bu kod üzerinde tam bir kod kontrolü yapmayı söylüyorsa, tuzak kuruyordur. Programın buna izin vermeyecek kadar sıkı olduğunu ve kod incelemesinin yalnızca spam gönderenler için olduğunu söylüyorsunuz. Kodunuzun harika olduğunu bilmeleri gerekir, böylece sizi işe alırlar, böylece temel sorunları çözmeye devam edebilirsiniz.

Herhangi biri kod sorunlarıyla uğraşmaya devam ederse, iyi bir yol da var. Diğer geliştiricilere bu kodla yardım almadan başa çıkma şansı verin ve sonunda tamamen başarısız olun. Sonra birdenbire ortaya çıkıp yeteneklerinizi sergileyebilirsiniz.

Son olarak, bir şey hala diğer geliştiricilerden memnuniyetsizliğe neden oluyorsa, yeniden adlandırın ve görünüm, kontrolör veya hizmet gibi kelimelerle bitirin. Herkes bu tür verilerin sürekli büyümesini umursamıyor gibi görünüyor.

Kaynak: Unsplash

5. Kaos geliyor, yani işinizi koruyun

Er ya da geç fetişiniz kalite güvencesi, programcı meslektaşları ve potansiyel üretim konusunda kafa karışıklığı yaratacaktır.

Merak etmeyin, bu normaldir.

Tanrılar, kilisenin aylık olarak dağıttıkları jöle gibidir, sürekli adağın armağanıdır.

Elbette sonraki çalışmaların bir kısmı çok karmaşık ve acil olacak, ancak beklediğiniz sonuç bu.

Codethulhu'da var olan karmaşık durum yönetimi, iş parçacığı ve işlemler dizisiyle başa çıkabilecek tek kişi olarak itibarınız artıyor ve kaderiniz bununla yakından ilgili.

Umarım, şimdiye kadar, Codethulhu şirketin devam eden çalışması için hayati önem taşır, aksi takdirde siz ve şirket önümüzdeki haftadan önce çıkacak.

Codethulhu köklü bir şekilde kök salmışsa, tebrikler, kazandığınız uzun vadeli işi kazandınız.

Tabii ki terfi edemezsiniz çünkü şirket bu canavarı sizden başka kimsenin kontrol edemeyeceğinden korkuyor, ancak bu işinizi korumak için sadece küçük bir fiyat.

Yakın zamanda herhangi bir mimar veya herhangi biri "yeniden düzenleme" ile ilgili herhangi bir şey okumuş veya yayınlamışsa dikkatli olun.

Kaynak: Unsplash

6. Codethulhu'yu kimin öldürebileceğine dikkat edin

Parlak zırhlı şövalyeler zaman zaman canavarları öldürmeye gelecek. Bu genellikle bir sorun değildir çünkü Codethulhu, genç geliştiricilerin akıllarını kaybetmesine neden olabilir.

Bununla birlikte, bazen yazılım mimarisi ve modellerinin entegrasyonu, kod tabanını "geliştirme" arzusu ve canavarları öldürmek için gerekli becerilere ve saf iradeye sahip insanlar vardır.

Bu tür bir insan ortaya çıktığında, kötü olacak. Acele edin ve bir çıkış yolu aramaya başlayın.

Genel olarak konuşursak, bu tür insanlar geliştirme şirketine kodu ortak bir modele yeniden düzenleme, tek sorumluluk ilkesi (SRP), yardımcı sınıflar çıkarma, miras yerine kompozisyonu tercih etme ve benzeri saçmalıklar hakkında bağıracak ve konuşacaklar.

Masalarında şu kitaplar olabilir:

· Michael Feathers'dan "Eski Kodu Etkili Şekilde İşleme"

· Martin Fowler tarafından "Yeniden düzenleme"

· Kent Beck'ten "Test Odaklı Geliştirme"

· Robert C Martin'den "Temiz Kod"

· Adam Tornhill'den "Yazılım Tasarımının Eksiksiz Analizi"

Codethulhu'yu başarılı bir şekilde değiştirdiklerine dikkat edin veya daha kötüsü test edin. Olursa ve işler açığa çıkarsa, başka bir şirketin tanrılara tapınmasının zamanı gelmiş olabilir.

Yedi, yukarıdakilerin hepsi şakalar

Kaynak: Unsplash

Yani özetle bu makale ironik.

Ancak, kariyerimin başlarında yaptığım bazı hatalara çok benziyor.

Bir Windows masaüstü uygulaması için karmaşık, standart olmayan bir kullanıcı arabirimi kontrolü geliştiriyordum. Sadece altı ay çalışmama rağmen yaklaşık 15 yıldır kod yazıyordum.

Çalışma yaklaşık dörtte bire ilerlediğinde, aşağıdakileri yöneten çok karmaşık bir kullanıcı arabirimi kontrol sınıfı oluşturdum:

· Animasyon

· Seçim

· Odaklanma

Veri Sanallaştırma

· UI sanallaştırma

· Etkinlik yayılımı

· Klavye gezintisi

Her yeni sürüm piyasaya sürüldüğünde ona ihtiyacımız olan yeni özellikler ekleyeceğiz ve bu sınıf büyümeye devam edecek, hatta tek bir dosyada 4000 satır koda ulaşacak.

Bu özellikler kaçınılmaz olarak birbiriyle çarpışmaya başlar. Sorun ortaya çıkmadan önce, bir fetişin kontrolünde, daha sonra kaosa ve öngörülemeyen hatalara neden olan bir kod tabanı olduğunu bilmiyorduk ve kopyalanması ve onarılması zordu.

8. Codethulhu'yu öldür

Kaynak: Unsplash

Çoğu insan kasıtlı olarak fetiş yaratmaz, ancak yapsalar bile içindeki her şey kaybolmayacaktır.

İşte sizi beladan kurtarmanın bazı üst düzey yolları:

· SRP sizin sadık dostunuzdur. Sınıfları veya yöntemleri geliştirirken bunu aklınızda tutarsanız, varsayılan olarak bu anti-modelden kaçınacaksınız.

· Mantığı yardımcı sınıflara çıkarmak için çekirdek olmayan sorumlulukları diğer nesnelere aktarın, bu da kodu basitleştirmeye yardımcı olur.

· Sınıfta herhangi bir değişiklik yapmadan önce mümkün olduğunca çok sayıda sabit test gerçekleştirin. Bu şekilde mevcut davranışı yakalayabilir ve bariz değişiklikleri bilebilirsiniz.

· Teknik borcu yönetime iletmekten ve mevcut kanun tabanıyla ilgili endişeleri tartışmaktan korkmayın. Liderler muhtemelen dürüst ve açık çalışanları takdir edecek ve azaltma kodlarıyla ilgili en son bilgileri isteyecektir.

Kaynak: Unsplash

Dikkatli olun ve kod tabanınızın Codethulhu ile asla karşılaşmayacağını umun.

Sonunda iyi şanslar!

Yorum Beğen Takip Et

Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

İşlevsel programlamanın ikinci baharı mı? Yükselişinin ardındaki nedenleri yeniden ortaya çıkarın
önceki
Core Voice Today | İlk yerli vaka! Beyin-bilgisayar çipi felçli hastaların zihinleriyle kola içmesine ve mahjong oynamasına izin veriyor
Sonraki
2020 Başlangıç çizgisinde kazanın, veri biliminde 5 temel beceri
Yapay zeka ile ilgili olarak, 2020'de test edilmesi gereken on trend
Python'da * args ve ** kwargs nedir? Bu nasıl kullanılır?
Kolaydan zora, altı temsili programlama problemine meydan okumaya cesaretiniz var mı? (Çözüm planı ile)
Core Voice Today | Sonuna kadar zor mu? Apple, iPhone'un kilidini açmak için dava açmaya hazırlanıyor
Bir baş veri sorumlusu, otomasyon yoluyla verilerden değer yaratmayı nasıl başarır?
Yıl sonunda işten çıkarıldı! Tazminat ve yıl sonu ikramiyeleri yalnızca soruna göre dağıtılabilir mi?
Sinir ağlarını gözlemlemeyi öğrenin: tüm model eğitiminde evrişimli katmanın aktivasyonunu görselleştirin
Xinsheng Bugün | İlk yaşayan robot! Bilim adamları kurbağa kök hücrelerinden canlı robotlar yapıyor
Ağ güvenliği nasıl oluşturulur? Korumanın amacı en iyi ders kitabınızdır
G4345 treni ve eve dönüş yolu: Kız arkadaşından bir sertifika almak istiyor ve "ayrılması zor" diyor
İngiltere'de okuyan Guangdong öğrencileri memleketlerine geri döndüler: hiçbir şekilde maske yok, ailelerinden ayrı yaşıyor, büyükbaba korunma için Çin tıbbı alıyor
To Top