Evet. Kodunuzu, muhtemelen CRAPL lisansı altında yayınlamalısınız. Amaç daha iyi bir gelecek inşa etmektir - ve sizin berbat kodunuz insanların bunu yapmasına yardımcı olacaktır. Bir uyarı, kodun başarılı bir şekilde nasıl çalıştırılacağını, birinin yayınlanan herhangi bir sonucu yeniden üretme şansına sahip olacak kadar belgelemeniz gerektiğidir.
Ve endişelenmeyin - üzerinde çalıştığım bir parça araştırma kodu Yaklaşık 8 yıl boyunca bir dizi proje için 5 kayıtsız programlama yeteneği postdoc tarafından geliştirilmiştir.
Genel değişkenlerin listesi (sadece isimler) kabaca 4 sayfaydı.
Bunların kabaca üçte biri, belirli bir anda çalışan işlevselliği değiştirmek için varsayılan davranışı ayarlamak için kullanıldı. Diğer% 20'si paralel veri yapılarıydı - yani yaklaşık olarak aynı verileri depoladılar - ve bu nedenle veri yapılarından az çok rastgele çekilen koddaki işlevler. Evet. Bazen senkronize olmadılar. Ve bazen senkronize olmaması gerekiyordu.
Grubun sunucusunun rastgele bölümlerinde depolanan kabaca 50 belgelenmemiş sürüm vardı - her biri en az bir belirli amaca hizmet ediyordu - ve yalnızca bir yönetici bu belirli amaçlara sahipti kafasında. İnsanların belirli bir amaç için 'yanlış' sürümü kullanmamasından daha yaygındı.
İnanılmaz derecede karmaşık yinelemeli prosedürlerin, örneğin bir dosya yazmak için kullanılması standarttı. Cidden - görüntü sonuçlarını kaydetmek için birkaç bin satır.
Oh, ve hiçbir zaman yeni bir değişken oluşturarak bir bellek sızıntısını (aslında görünmez bir figür) çözmeye yönelik kasaplık bir girişimin kalıntıları.
Oh, ve veritabanı, o güzel veritabanı. Verilerin yaklaşık yarısı (a) veritabanı tasarım hataları (b) veri giriş hataları (otomatik programlarda) nedeniyle kullanılamaz durumdaydı. Veritabanından dosya alma kodu birkaç yüz satır mantık uzunluğundaydı ... Veritabanının kendisi de aynı verilerin birçok kopyasını içerecek kadar nazikti, çoğu tablolar arasında kopuk bağlantılar vardı. Kısıtlamalar? Hayır. Bir istatistikçinin, veri tabanına emanet edildikten sonraki bir ay içinde huzursuzluktan korkudan ağlamaya ve bırakmaya doğru ilerlemesini izledim ...
Yazılımı çalıştırmanın ve doğru sonuçları almanın 0 ile 1 arasında bir yolu vardı herhangi bir anda ...
Ve evet, gotos vardı.
Oh, ve opak ve belirleyici olmayan operasyon sağlamak için GUI aranarak bir dizi hesaplama yapıldı
Verilen herhangi bir işlevin yaklaşık% 90'ı, oldukça güvenilir bir şekilde sonuçla veya sonucun hata ayıklamasıyla alakalı değildi - kısa vadeli projelerden ziyade, eklenen ve sonra asla kaldırıldı. Cidden - gerçekten işe yarayan tam bir özellik sürümü yazdım, bu boyutun 1 / 10'u ... Önemli kesirler kopyalanarak yapıştırılan eklenen işlevlerdi ve çoğu birbirinden farklıydı.
Ve Virginia yok belge yok. Veya açıklayıcı değişken isimleri.
Oh, ve artık var olmayan kod kullanılarak oluşturulmuş belgelenmemiş, hatalı, dll'ler ve ilişkili kütüphaneler.
Hepsi Matlab'da yazılmıştır. Matlab kodlama uygulamaları açısından, bol miktarda eval kullanımının günün en önemli anı olacağını varsayalım.
Cidden, kodunuz o kadar da kötü değil.
Bununla birlikte, gerçekten yararlı bir şey yaptıysanız, başkalarının kitaplığınızı kullanması ve bunlardan alıntı yapması için temizlenmiş bir sürüm yayınlamak kariyerinizi geliştirebilir. Az önce bir şey yaptıysanız, çoğaltma muhtemelen gitmeniz gerektiği yere kadardır.