İdeal bir dünyada, belirli bir geliştirici tarafından yazılan tüm kodlar, hem birim testleri gibi otomatik araçlarla hem de kullanıcının beklenen sonucu aldığınızı kontrol etmek için kullandığı senaryo komutlarını kullanarak iyi belgelendirilir, iyi yapılandırılır ve anlaşılır bir şekilde test edilir.
Ancak, öğreneceğiniz ilk şey ideal bir dünyada yaşamamamız!
Pek çok geliştirici kodlarını doğru bir şekilde belgelendirmiyor, eğer hiç değilse, iş mantığını alakasız kod ile karıştırıyorlar ve yaptıkları tek test normal kullanım durumu olmasını bekledikleri şeylerin hızlı bir şekilde yapılması.
Bunun gibi bir kodla çalışırken, yapmanız gereken ilk şey, ne yapması gerektiğini belirlemektir. Yorumlar varsa, size ipuçları verebilir, ancak buna güvenmeyin. Tecrübelerime göre, birçok kodlayıcı kendilerini açıklamada iyi değil ve yorum yapsalar bile anlamsız olabilirler. Bununla birlikte, şirketteki tek kodlayıcı siz değilseniz, kesinlikle birisinin en azından kodun ne için olduğu ve ne yapması gerektiği konusunda temel bir fikri olması gerekir. Sormak etrafında!
Birim testleriniz varsa, o zaman hayatınızı çok daha kolay hale getirir. Bunu yapmazsanız, kod tabanını öğrenmenin bir kısmı, zaten var olan kod için birim testleri yazmayı içerebilir. Normalde bu iyi bir uygulama olarak kabul edilmez, çünkü mevcut koda göre ünite testleri yazarsanız, kodun olduğu gibi çalıştığını düşünen ünite testlerine sahip olursunuz (bu davranışın aslında bir hata olduğunu varsaymak için yazılırlar) doğru), ama en azından size bir temel oluşturur. Daha sonra doğru olduğunu düşündüğünüz bazı davranışların aslında yanlış olduğunu keşfederseniz, kodun şimdi verdiği sonuçtan ziyade beklenen sonucun ne olduğunu test etmek için birim testini değiştirebilirsiniz. Birim testine başladıktan sonra, değişiklikler yapabilir ve yaptığınız değişikliklerin hangi yan etkilere sahip olduğunu değerlendirebilirsiniz.
Son olarak, belgelenmemiş bir kod parçasıyla çalışırken elde ettiğiniz en iyi kaynak, son kullanıcılara sormaktır. Kod hakkında hiçbir şey bilmiyor olabilirler, ancak uygulamanın ne yapmasını istediklerini biliyorlar. İhtiyaç toplama herhangi bir projenin ilk aşamasıdır ve geliştirilecek sistemin olası kullanıcılarıyla konuşmak her zaman bunun önemli bir parçasıdır. Sadece zaten yapılmış olan yeni bir projenin gereksinim yakalama aşamasını yapıyor olarak düşünün.
İyi yazılmış ve iyi belgelenmiş bir kodun bile bir yabancı tarafından anlaşılmasının zor olabileceğini unutmayın. Kod, esasen, onu yazan kişinin o zaman nasıl düşündüğünü ve herkesin kendine özgü düşünce sürecine sahip olduğunu ifade eder. Biraz sabırlı olmayı ve bir dedektif olmayı öğrenmelisin. Başka bir kişinin düşünce sürecine girebilmek zor, ancak mevcut kod üzerinde bakım yapan bir programcı için çok önemli bir yetenek. Çoğu kodlamanın (yaklaşık% 70'i) mevcut kodun korunmasına bağlı olması nedeniyle, öğrenmek önemli bir beceridir.
Oh, ve şimdi kötü belgelenmiş, denenmemiş ve karışık kodun neden olabileceği acıları gördünüz, bunu yapmak için bir sonraki yoksul geliştiriciye yapmayacaksınız, değil mi? :) Selefinizin hatalarından ders alın, kodunuzu iyi yorumlayın, her modülün kendisine bağlı olduğu açıkça tanımlanmış bir sorumluluğu olduğundan emin olun ve ilk önce yazdığınız kapsamlı bir ünite testine sahip olduğunuzdan emin olun (TDD metodolojileri için) veya en azından geliştirilmekte olan kodun yanında.