Geliştirme
- Küçük başlayıp sonra ölçeklendirmek: Yeni bir sistem kurarken veya mevcut bir sisteme özellik eklerken, neredeyse hiç gerekli işlevi olmayan çok basit bir sürümle başlayıp ardından kademeli olarak genişletmek
- Aynı anda yalnızca tek bir şeyi değiştirmek: Geliştirme sırasında testler başarısız olduğunda veya bir özellik çalışmadığında, aynı anda yalnızca tek bir değişiklik yaptıysanız sorunu bulmak çok daha kolaydır
- Loglama ve hata işlemeyi erken eklemek: Yeni bir sistem geliştirirken loglama ve hata işlemeyi en baştan eklemek faydalıdır
- Her yeni kod satırı en az bir kez çalıştırılmalı: Özellik tamamlanmadan önce test edilmelidir
- Bütünü test etmeden önce parçaları test etmek: İyi test edilmiş parçalar zaman kazandırır
- Her iş düşündüğünüzden uzun sürer: Özellikle programlamada, her şey tahmin edilenden daha uzun sürer
- Önce mevcut kodu anlamak: Yeni bir özellik eklemeden önce mevcut çözümü anlamak gerekir. Kod okumak, kod yazmak kadar gerekli bir beceridir
- Oku ve çalıştır: Kodu anlamanın birbirini tamamlayan iki yolu vardır: kodu okumak ve kodu çalıştırmak
Problem çözme
- Hatalar her zaman vardır: "Baştan doğru yapalım" yaklaşımı iyi değildir
- Problem raporlarını çözmek: Geliştiriciler müşterilerin problem raporlarını ele almaya ve hataları düzeltmeye zaman ayırmalıdır. Bu sayede müşterinin ne yapmaya çalıştığını, sistemin nasıl kullanıldığını, problemlerin çözümünün ne kadar kolay ya da zor olduğunu ve sistemin ne kadar iyi tasarlandığını çok daha iyi anlayabilirler
- Problemi yeniden üretmek: Bir hatayı düzeltmenin ilk adımı problemi yeniden üretmektir. Ardından düzeltme eklendiğinde sorunun ortadan kalkıp kalkmadığını doğrulamak
- Bilinen hataları düzelttikten sonra geriye ne kaldığını kontrol etmek: Birden fazla problem olduğunda, tüm bilinen sorunlar düzeltildikten sonra kalan belirtilere bakmak
- Tesadüf olmadığını varsaymak: Test ve problem çözme sırasında tesadüflere güvenmeyin, araştırın. "Zamanlayıcı değerini değiştirdim ve şimdi sistem daha sık yeniden başlıyor; bu tesadüf değil. Yeni bir özellik eklendi ve alakasız bir özellik yavaşladı mı? Bu da tesadüf değil. Daha fazla araştırın"
- Zaman damgalarıyla ilişkilendirmek: Problem çözerken olayların zaman damgalarından yararlanmak
İş birliği
- Yüz yüze iletişim en yüksek bant genişliğine sahiptir: Bir problemi nasıl çözeceğinizi tartışırken yüz yüze iletişim, diğer tüm yöntemlerden (video, telefon, sohbet, e-posta) daha iyidir
- Rubber duck debugging: Bir problemde tıkandığınızda, problemi bir iş arkadaşınıza anlatmak çözümü fark etmenizi sağlar. İş arkadaşınız hiçbir şey söylemese bile, konuşma sırasında çoğu zaman sorunun ne olduğunu fark edersiniz. Kulağa sihir gibi gelir ama şaşırtıcı derecede sık işe yarar
- Sormak: Kodu anlamak için okumak ve çalıştırmak çoğu zaman iyidir. Ama bunu bilen birine (muhtemelen özgün yazara) sormak mümkünse, bunu da birlikte kullanın
- Emeği paylaşmak: Emeği hak edene vermek. "Biz ... denedik" demek yerine "Marcus denenecek fikri buldu" (eğer gerçekten öyleyse) demek. Yardım eden veya katkı sunan kişileri özellikle anmak
Diğer
- Deneyip görmek: Bir dil özelliğinin nasıl çalıştığından emin değilseniz, küçük bir program yazıp test edin
- Uyumak: Zor bir problemle karşılaştığınızda, karar vermeden önce bir gece uyumak iyi olur
- Değişim: Zaman zaman rolünüzü veya işinizi değiştirmekten korkmayın. Farklı insanlarla, farklı ürünlerde veya farklı şirketlerde çalışmak canlandırıcıdır
- Öğrenmeye devam etmek: Yazılım geliştirmenin en büyük avantajlarından biri, her zaman daha fazla öğrenip keşfetme alanı olmasıdır. Farklı programlama dilleri ve araçları deneyin, yazılım geliştirme üzerine kitaplar okuyun, MOOC dersleri alın. Küçük gelişmeler birikerek bilginizde ve yetkinliğinizde gerçek bir fark yaratır
7 yorum
Yüz yüze iletişim en yüksek bant genişliğine sahiptir - harika bir ifade.
+1.
Rubber duck debugging. Gerçekten programlamayı bilmeyen birine anlatırken bile sorunun ne olduğunu fark etmeyi sağlıyor
+1.
Gerçekten altın değerinde öğütler.
+1
Vay be, hepsi de çok doğru şeyler. Yüz yüze iletişimin en yüksek bant genişliğine sahip olması biraz üzücü. Keşke teknoloji daha da gelişse.