Yanıtlar:
Yıllar önce, hatalar atmaya başlayan veritabanı merkezli bir uygulamada baş geliştiriciydim. Onlara izin vermemeliyiz bir veritabanı alanında yinelenen değerler olduğu gerçeğini izledim.
Üretime ittiğimde veritabanına benzersiz bir kısıtlama getirmeyi unutmaktan kendimi dövüyordum çünkü bu alanın ihtiyaç duyduğu çok açıktı. Beni düzelten diğer geliştiricilerimden birine ...
Diğer Geliştirici : "Ah, unutmadınız, bu alanda benzersiz bir kısıtlama vardı. Sadece kaldırdım."
Ben : "Neden kaldırdın?"
Diğer Geliştirici : "Bunu birkaç hafta önce yaptım. Müşteriden veri dosyaları alıyordum ve benzersiz kısıtlama yeni verileri engellediği için içe aktarmazlardı. Böylece, içe aktarmayı bitirebilmem için kısıtlamayı kaldırdım."
Ben: "Mevcut verilerle örtüşen yeni veriler alıyorsak ve içe aktarmadan önce birisine bahsetmeyi düşünürsek, belki de bir sorun olduğunu düşünmeyi bıraktınız mı?"
Diğer Geliştirici : (blank stare)
Ben : Facepalm.
Bunun bir teknoloji kararı olup olmadığından emin değilim , ancak dört yıl PHP'de yazılmış CMS benzeri bir belge yönetimi web sitesinden sorumluydum. Bu yıllar boyunca, belki de, muhtemelen, gibi insanlar (yöneticiler, kullanıcıları özelliğini-requestors) almak için birden çok kez denedi belki , gereksinimleri ve bir şey geleceği yönü hakkında ve birlikte düşünme oturan olasılığını göz önünde bulundurun. Asla olmadı. O “bu özelliği eklemek”, “bu özelliği eklemek” her zaman ve herkes herkes hangi tüm farklı yollardan blissfully habersiz başka web sitesine kullandı. Gittiğimde, birbirine bağlı ama ilgisiz özelliklerin büyük bir karmaşası haline geldi ve şirketin tüm özelliklerini bilen tek kişi bendim. Şimdi kimse yapmıyor. Mwahaha.
Telco sınıfı sesli posta sistemini yeniden yazma.
Önceki sistem Unix üzerinde çalışıyordu ve 90'ların sonlarında Microsoft'un COM teknolojisi ortaya çıktı. Birçok geliştirici bu yeni NT tabanlı sistem üzerinde çalışıyordu. Çok çaba sarf ettikten sonra performansı hala Unix sistemlerine yakındı ve bu yeni sistemi satın alan büyük bir müşteri sinirlendi. Şirket satılmalı ve bazıları şirketten ayrılmak zorunda kaldı.
Çirkindi. Bütün bunlar Joel'in makalesini yazmasından yaklaşık iki yıl önce oldu: Asla Yapmamanız Gereken Şeyler, Bölüm I
Bir SVN anlık görüntüsüne dayalı olarak, ilk yayın sürümünden önce harici bir kitaplığın (bu durumda Spring RCP olması ) benimsenmesi . Projenin aşağı yukarı öleceği ve kendinizi cesete bağlı bulacağınız neredeyse garantilidir. Bizim durumumuzda daha kötü olabilirdi. Hala büyük bir risk.
Hatırladığım bir örnek, henüz proje için gerekli özelliklere sahip olmamasına rağmen, belirli bir Java uygulama sunucusuna taahhütte bulunduğunu, sadece ne zaman uygulanacakları için bir yol haritası içerdiğini hatırlıyorum. Doğal olarak satıcı, başlangıçta belirtildiği gibi hemen teslim etmedi, bu da büyük bir sorun olmalı, ancak gerçekte başarısızlığa giden yavaş yolda birçok horozdan sadece biriydi.
Karşılaştığım bu tür problemlerin çoğu kanıtlanmamış / olgunlaşmamış bir teknolojiyi benimsemeyi içeriyordu, çünkü çoğu zaman teknik tarafta etkili olan biri özgeçmiş odaklı kalkınmanın bir savunucusu.
Üç yıl önce, BusDev departmanımız içerik mgmt sistemini Documentum üzerinde inşa etmek zorunda olduklarını söyledi çünkü ulaşmaya çalıştıkları Pharma şirketleri adı biliyor ve teknolojiyle rahatlardı. Bu yüzden onu inşa etmek için çok para harcadık ve 12 ay sonra rafa koyduk.
Bu yılın şubat ayında yeni sistemin Sharepoint 2010'a dayandığını duyurdular. Neden olduğunu tahmin etmek ister misiniz? Çünkü aniden, BU Pharmas tarafından bilinen isim ve rahat oldukları isimdi!\\ uSlackr
Modern işletim sistemlerinin C / C ++ ile yazılması. Morris Worm'dan (80'lerin sonunda) ağ bağlantılı yazılım oluşturmak için tamamen uygun olmayan bir dil olduğunu biliyoruz, ancak bu kimsenin bunu yapmasını durdurmadı, bu da temel olarak suç ihmali IMO'su anlamına geliyor.
std::string
, ama işe yarıyor ve konteyner sınıfı şablonları ile birlikte potansiyel hataların büyük bir sınıf ortadan kaldırabilir.
Ne gördüm....
1980'lerde, Prime adlı bir şirket, Pick veritabanının ve BASIC'in bir sürümünü çalıştıran bilgisayarlar üretti. Bir tane satın aldığımda çalıştığım yerin kullanıcı departmanı, bunun onlara çok para kazandıracağına, dörtte bir iş analisti ile istedikleri işleme ve sonuçları elde edeceklerine kesinlikle ikna oldu. Dört tam zamanlı programcı analisti ve bir iş birikimi vardı.
Teknolojinin onlar için ne yapacağını tahmin etmede büyük hata.