(üretim kodu varsayarsak)
Biraz daha ileri gitmeye meyilliyim. Programları "aptal kanıtı" yapma konusunda yazdım, ancak her zaman şunu kabul etmiyorum: Başkalarının görmeyeceği veya çalışamayacağı çok fazla kod yazıyorum (en azından, bu yazılan beklenti budur). benBen bu durumda kendimi savunmaya çalıştığım aptalım. Programınız sizin için sorunları tespit ettiğinde iyi bir şeydir ve sorun o kadar basitleştirilmiştir ki, bir hatanın ve kökeninin olduğu oldukça açıktır. Gerçek şu ki, bir program yazdığınızda uygulama detayları açıktır (erken uygulama yapmıyorsanız), ancak müşteriler için soyutlanmalı ve hataya dayanıklı olmalıdır (modül konumu mevcut olsa bile). Bunun nedeni, programların çok karmaşık hale gelmesidir. Bazen problemleri ayırabilirsin ama her zaman değil. Bileşenlerinizi çok katı, basit, iyi kapsüllenmiş ve salak kanıt olarak tutarsanız, iyi ölçeklendirme eğilimi gösterir ve çoğu kusur sevk edilmeden önce algılanır. Yeniden kullanmak daha kolay ve programları yeniden kullanmak için daha fazla güvene ve daha kolay zamana sahip olursunuz. yazdığınız bu karmaşık programlar, programdan bir süre sonra ancak sizin için bile daha karmaşık hale gelir. 6 ayda okuduğunuzda, salak deneme sürümüyle karşılaştırıldığında anlamak ve hata ayıklamak çok saçma bir zaman alabilir. Bir bileşen bir kırılma değişikliği getirirse, aksi takdirde uzun süre tespit edilemez. Programlar karmaşıktır; Bu gerçeklikten kaçamazsınız, ancak aptal kanıtı sağlayabilirsiniz, ki bu bir şeyler ters gittiğinde ya da yeniden kullanılması ya da değiştirilmesi gerektiğinde hayatınızı çok daha kolaylaştıracaktır. Bu nedenle, salak kanıtlama yaklaşımı, yazılımınızın ekipteki gençler veya gençler tarafından da anlaşılabileceği, yeniden kullanılabileceği veya sürdürülebileceği anlamına gelir (sadece sizin kadar iyi / deneyimli biri değil). Değişim ayrı bir konudur: İnsanlar programlarınızla çalışmayı seviyorsa, iyi bir iş çıkarıyorsunuzdur - t Değiştirme konusunda endişelenmeyin. Şüphesiz, anlaşılmaz programların işinizi kurtarabileceği senaryolar bulabilirim, ancak başkalarının kullanabileceği ve koruyabileceği iyi bir program yazmak açıkça daha az kötülüktür (diğerlerinin görevlerine bakın). Kendimi aptal kanıtlamayan bir şey yazarken yakalarsam, onu düzeltmeye çalışırım.
Bir projeye 6 ay ara verdikten sonra devam etmek için bazı belgelere ihtiyaç duyduğunuz senaryo dışında, geliştirici ile yazılım şirketi arasında açık bir çıkar çatışması var gibi görünüyor.
Gerçek olmayan uygulamaları tekrar ziyaret ettiğinizde bir süre ne düşündüğünüz hakkında hiçbir fikriniz yok. Eğer zaman gerçekten deneyimli sen kurulmuş metodolojiler veya kullanmak yaklaşımlara daha güvenebilirsiniz çünkü o zaman sorun basittir. Bununla birlikte, bu metodolojilerin de değişmez olduğu varsayılmaktadır. Dokümantasyonun gecikmesine rağmen uygulamalarınızda hala savunucunuz olmak zorundasınız (örneğin, bu senaryoda NULL’u geçmekten daha iyi biliyorsunuz - bu koşulu test edin).
Bir programcı olarak, gerçekten herkes için mükemmel belgeler ve kolayca okunabilir kodlar yazmalısınız; ya da işi ve işi halledecek şekilde kod ve belgeler yazmalı ve kendiniz de anlayabilmelisiniz, fakat başka bir kişi bunu anlamakta zorlanabilir mi?
Bus faktörü yaklaşımından daha net ve daha hataya dayanıklı olan salak geçirmez yaklaşımı öneririm. Programlarınızı ve dokümantasyonunuzu, projenin dışından birisi tarafından kolayca anlaşılabilecek şekilde yazın - bu sizin için de iyidir. Bunu yapmak şirketinize ve ekibinize olan değerinizi artıracak, sizi değiştirmek istemeyeceklerdir .