Küçük bir arka plan: 10 kişilik bölümümüz için iki programcıdan biriyim (geri kalanı sanatçılar ve yönetim). İkimiz, şeylerin iyi akması ve ortaya çıkan projeleri geliştirmesi için gereken tüm kodlamaları yapıyoruz. Yaklaşık 4 yıldır programlıyorum, bu onun ilk "gerçek" işi (koyduğu gibi). Genellikle herhangi bir zamanda farklı projeler üzerinde çalışıyoruz.
Birkaç ay önce daha sonraki bir proje için kullanılacak bir dizi ders geliştirdim. Bu projenin büyük bir kısmı (faturalandırma nedeniyle) bir GUI arayüzü tasarlamak ve programlamak üzere kendisine devredildi. Yeni olduğu için, tasarıma biraz yardım ettim ve geri kalanıyla ihtiyaç duyup duymadığını yardım istedim. Arabirimi birkaç hafta önce bitirdi, bu da biraz yavaş olmasına rağmen çalıştığını göstermek için demo yaptı.
Üzerinde çalıştığım projenin bir sonraki bölümü başladı . Sonraki adımlarla başlamak için arayüzü açtım ve hemen sorunlara girdim (biraz yavaş, biraz eksik, ortak eylemlerdeki hatalar, vb.). Birkaç sorun için koda baktım ve O(n^n)
olması gereken çağrıları buluyorum , O(n)
hata kontrolü (Python'da) olmayan varsayımlar, orijinal koda eklenen GUI referansları vb.
Şimdi, kesinlikle ona neyin yanlış olduğunu ve nasıl düzeltileceğini öğretmek istiyorum, ama bir sonraki projesine çoktan geçti ve bu birkaç hafta önceydi. "Geri dön ve doğru yap!" Demekten korkuyorum. (elbette yardımıyla) çok sert ve bu arada yapılması gereken başka projelerimiz var. Şimdilik kodu kendim düzeltmeli ve gelecekte bir şeyler yakalamaya çalışmalı mıyım?
O(n^n)
başka bir yol olmadığı sürece hiçbir şeyi kodlamamalıdır . Eğer yaparlarsa, muhtemelen algoritmalarda bir C aldılar ya da almadılar ya da berbat bir öğretmeni vardı. Sık karşılaşılan sorunları bulmaya yardımcı olmak için bir tür araç kullanmak iyi olurdu. Belki bir sonraki görev olarak bu adam bazı performans testleri yazabilir?