Bu kodu yorumlamalı mı yorumlamamalı mı?

Yazılan kodun herkes için anlaşılabilir olması çok önemlidir. Algoritma ne kadar karmaşık olursa olsun ilk bakışta anlaşılabilir olması gerekir. Olabildiğince mantıklı şekilde isimlendirme yapılmalı, girintilemeye dikkat edilmeli, benzer satırlar gruplanmalı ve gruplar birbirinden bir boş satır ile ayırılmalı. Bunu zaten herkes yapıyor. Fakat bir de algoritmanın bütün olarak kısa sürede Devamı…

PHP ve TDD

Test yazmak hayat kurtarır. Nasıl mı? Büyük bir yazılım yazdığınızı düşünün. Ülke çapında onbinlerce kullanıcınız var. Herkes sistemi aktif olarak kullanıyor ve sistemin saniyede 200-300 requeste gecikmeden cevap vermesi gerekiyor. Arkaplanda birsürü sistem çalışıyor. Mysql, Mongodb, Memcache, API’ler vs. Her saniye onlarca megabyte veri ekleniyor sisteme. Veritabanı gigabytelarla ölçülüyor. Böyle bir sistemi nasıl yazarsınız? Eğer cevabınız “yaz-çalıştır” ise hemen bilgisayarı kapatın ve kendinize yeni bir meslek edinin. Çünkü böylesine büyük bir sistemi bu yöntemle çalıştırmayı bile başaramazsınız. Başarsanız bile büyük sistemlerin mutlaka düşmanı olur ve çok kolay hackleneceği için hemen darmadağın olur ve sisteminiz kapanır. O yüzden boşuna uğraşmış olursunuz. Tabiki böyle büyük bir sistem için sağlam bir yatırım gerekir ve eğer siz programcılar olarak bu işin üstesinden gelemezseniz yatırımcılar size çok kızarlar. Eğer agresif bir yatırımcınız varsa iş büyür ve en iyi ihtimalle sizden davacı olur. İşte bu yüzden test yazmak hayat kurtarır. (daha&helliip;)

Design Pattern – Başlangıç giriş önbilgi ne nerde nasıl hangi

java design patternDesign Pattern yada Türkçe ifadeyle Tasarım Desenleri, Tasarım Şablonları. Neden böyle bir mantığa ihtiyaç duyulmuş? On yıllar boyunca çalışacak olan bir projeniz varsa bunu nasıl geliştirirsiniz? Spagetti yöntemle mi? Nesnel yaklaşımla mı? Event driven mı? Veriler nasıl işlenecek ve saklanacak? Kullanıcı ne yapabilecek ne yapamayacak? Hiyerarşik şekilde bir yetkilendirme sistemi olacak mı? Beklenmeyen bir durum olduğunda uygulama nasıl davranacak? Bu soruların hepsi Project Manager ve müşteri tarafından cevaplanır ve bu cevaplar sayfalar dolusu olabilir. Ayrıca proje geliştirilme esnasında farklı sorularla karşılaşılır. Tümünün bir şekilde cevaplanıp uygulamaya konulması gerekir. Peki sürekli geliştirilebilir, çalışan ve müşterinin isteklerini yerine getiren bir uygulama nasıl yazılır? (daha&helliip;)