Öğretmen kısıttır
Bir proje, daha önce vermediğiniz bir kararı size zorladığında öğretir. Bildiğiniz bir yığınla bir yapılacaklar uygulaması daha yapmak hiçbir şey öğretmez; tek bir zor kısıtlı küçük bir araç yapmak — framework yok, offline-first, CI'da çalışmalı — daha önce başkasına devrettiğiniz bir katmanı anlamanızı zorlar.
Proje başına bir yeni şey yeterlidir. İki yeni şey, iki bilinmeyeni aynı anda hata ayıklamak demektir; bu da beceriden çok hayal kırıklığı öğretir.
Örnek senaryo: dokümantasyon linter'ı
Örnek senaryo: statik analizin nasıl çalıştığını öğrenmek istiyorsunuz. Hakkında okumak yerine, Markdown dosyalarındaki kırık göreli linkleri kontrol eden küçük bir araç yapıyorsunuz. Kısıt — dosyaları kendiniz ayrıştırın, ağır bağımlılık yok — dosya grafiklerini, yol çözümlemedeki uç durumları ve çıkış kodu tasarımını anlamanızı zorluyor. Araç küçük; öğrenme değil.
Bu, DeadLinkFinder gibi gerçek projelerin ardındaki motivasyonu yansıtır; burada açıklama amaçlı bir örnek olarak anlatılmıştır.
Bitmiş küçük, terk edilmiş büyükten iyidir
Terk edilmiş iddialı bir proje çoğunlukla kapsam hatası öğretir — gerçek bir ders ama tekrarlaması pahalı. README'si ve tanımlı bitiş çizgisiyle yayımlanan küçük bir proje ise döngünün tamamını öğretir; zanaatin çoğunun yaşadığı gösterişsiz son yüzde on dahil.
Kısa proje kontrol listesi
Öğrenilecek tam olarak bir yeni şey seçin; başlamadan bitiş çizgisini tanımlayın; ilk sürümü utanç verici derecede küçük tutun; README'yi başkası kullanacakmış gibi yazın; hedef kitle yalnızca gelecekteki siz olsa bile yayımlayın.
