Büyük bir insani yardım kuruluşu için, gıda dağıtımını hızlandırarak acil durumlarda hayat kurtarmaya yardımcı olabilecek bir proje oluşturma yazılımı üzerinde çalışıyorum. Birçok STK, yazılımımıza umutsuzca ihtiyaç duyuyor ve programın gerisinde haftalar geride kalıyoruz.
Bu projede beni endişelendiren bir şey, bence kodlama standartlarına aşırı odaklanmak. Python / django'da yazıyoruz ve çeşitli değişiklikler ile PEP0008'in bir sürümünü kullanıyoruz, örneğin satır uzunlukları 160 karaktere kadar çıkabilir ve tüm satırlar bu kadar uzun sürebilir, ithalatlar arasında boş satırlar yok, yalnızca belirli türler için geçerli olan satır sarma kuralları bir sorunu çözmenin en iyi yolu olmasa bile, kullanmamız gereken çok sayıda şablon vb.
Bir çekirdek geliştirici, yeni kodlama standartlarını karşılamak için sistemin büyük bir bölümünü yeniden yazmak için bir hafta geçirdi ve yeniden yazma 'geçersiz' anlamına geldiği için süreçteki çeşitli test paketlerini attı. Kaybolan tüm işlevleri yeniden yazmak ve hataları düzeltmek için iki hafta geçirdik. O baş geliştiricidir ve sözcüğü ağırlık taşır, bu yüzden proje yöneticisini bu standartların gerekli olduğuna ikna etti. Junior devs söylendiği gibi yapar. Proje yöneticisinin tüm bunlar hakkında güçlü bir bilişsel uyumsuzluk hissine sahip olduğunu hissediyorum, ancak yine de başka ne yapacağından emin olmadığından şiddetle kabul ediyor.
Bugün ciddi bir sorun yaşadım çünkü bir anahtar kelime argümanında virgüllerden sonra boşluk bırakmayı unutmuştum. Bir Skype çağrısı sırasında tam anlamıyla iki geliştirici ve proje yöneticisi tarafından bağırıldım. Şahsen kodlama standartlarının önemli olduğunu düşünüyorum ama aynı zamanda onlara takıntılı çok zaman harcadığımızı düşünüyorum ve sözlü ifade ettiğimde öfkeyi kışkırttı. Takımda baş belası, başarısızlıkları için günah keçisi arayan bir takım olarak görüyorum. Kodlama standartlarının getirilmesinden bu yana, ekibin verimliliği ölçülebilir bir şekilde düştü, ancak bu sadece saplantıyı güçlendiriyor, yani kurşun geliştirici, ilerleme eksikliği standartlarına uymamamızı suçluyor. Sözleşmelere uymazsak birbirimizin kodunu okuyamayacağımıza inanıyor.
Bu yapışkan olmaya başlıyor. Şimdi çeşitli komut dosyalarını değiştirmeye çalışıyorum, autopep8, pep8ify ve PythonTidy sözleşmeleri eşleştirmeye çalışıyor. Ayrıca pep8'i kaynak koduna karşı çalıştırıyoruz, ancak standardımızda o kadar çok örtülü değişiklik var ki hepsini izlemek zor. Lead dev simple, pep8 komut dosyasının bir sonraki stand-up toplantısında bize ulaşmadığını ve bağırmadığını gösterir. Her hafta, mevcut, çalışan, test edilmiş kodu yeniden yazmaya zorlayan kodlama standartlarına yeni eklemeler var. Cennete şükürler olsun ki hala testlerimiz var (bazı taahhütleri geri aldım ve kaldırdıklarından bir demet düzelttim)
Bu sırada son teslim tarihine ulaşmak için artan baskı var.
Temel bir meselenin, öncü geliştiricinin ve başka bir temel geliştiricinin, diğer geliştiricilere işlerini yapmaları için güvenmeyi reddetmeleri olduğuna inanıyorum. Ama bununla nasıl başa çıkılır? İşimizi yapamayız çünkü her şeyi yeniden yazmakla çok meşgulüz.
Bir yazılım mühendisliği ekibinde bu dinamiğe hiç rastlamadım. Kodlama standartlarına bağlılıklarını sorgulamak yanlış mıyım? Başka biri benzer bir durum yaşadı mı ve bu durumla nasıl başarılı bir şekilde başa çıktılar? (Sadece insanların bulduğu gerçek çözümler hakkında bir tartışma aramıyorum)