Bu siteyi yapmadan önce neden 40 tasarım belgesi yazdım
İlk blogum birkaç HTML, CSS ve JS dosyasından ibaretti. Sonra bir blog motoru (Ghost) kurdum, ama içinde tek bir “Coming soon” yazısı vardı; dil İngilizce, saat dilimi UTC idi ve e-posta ayarı olmadan üye kaydı açıktı. Aslında çalışmayan bir kapı açık duruyordu.
Önce tasarım
Bu yüzden kod yazmadan önce ne yapacağımı yazılı olarak belirledim: ürün gereksinimleri, bilgi mimarisi, tasarım sistemi, veri modeli, API, yetkiler, güvenlik, arama, YZ, dağıtım, kurtarma… 40 belge oldu.
Sonra karşılaştırma
Yalnızca tasarım olunca zaten iyi çalışan şeyleri atmak kolaylaşır. Bu yüzden çalışan sistemleri tasarımın yanına koyup her maddeyi değerlendirdim.
| Karar | Anlamı | Örnek |
|---|---|---|
| Benimse | Tasarlandığı gibi | Statik üretim, site araması |
| Uyarla | İkisini birleştir veya ortama uydur | Ayrı bir veritabanı yerine GitHub PR ile onay |
| Koru | Mevcut sistem zaten daha iyi | Sohbetin arama ve güvenlik motoru |
| Ertele | Koşullar oluşunca | Sosyal girişli yorumlar |
Örneğin tasarım, YZ’ye sor için yeni bir arama sağlayıcısı seçmeyi öneriyordu; ama sohbette motorlar arası geçiş, kişisel veri temizleme ve iç ağ engelleme zaten vardı. Yeniden yapmak için bir neden yoktu.
Korunan ilkeler
- Yazılar Git’te durur; yayın sürüm etiketleriyle olur. Bir şey bozulursa önceki etiket bir dakikada geri gelir.
- Çevirisi olmayan bir sayfa asla sessizce özgün dille değiştirilmez.
- Güvenlik başlıkları uygulama başına değil, önde tek seferde uygulanır.