Kategori: Genel

  • Çok Gezen mi Bilir, Çok Okuyan mı?

    Çok Gezen mi Bilir, Çok Okuyan mı?

    yazar:

    kategori: ,

    Bu soru birçok tartışmaya yol açacak cinsten ve ilk bakışta cevabı göreceli gibi görünüyor. Vereceğim örnekte ise bu sorunun cevabı çok gezenin lehinde olacak. Maaşlı çalışan bir programcının çalıştığı firma bünyesinde yaptıklarının haricinde öğrenebileceklerinin tümü üç yıl ve daha az bir zaman dilimine sığdırılabilir. Bu zaman diliminden sonra programcı bildiklerini tekrar eder ve yeni bir…

  • Başlama ve Bitirme Kriterleri

    Başlama ve Bitirme Kriterleri

    yazar:

    kategori:

    Bir yolculuğa çıkılmadan önce gerekli hazırlıklar yapılır. Bu hazırlıklar yolculuğa çıkabilmek için atılması gereken zorunlu adımlardır. Bu adımlar atılmadığı taktirde, yolculuğun başarısız olması, yolculuğun iptali ya da planlanan zamanda tamamlanamama rizikosu doğabilir. Yolculuğa çıkıldıktan sonra nihai amaç varış noktasına planlanan zamanda erişmektir. Varış noktasına planlanan zaman diliminde erişildiğinde, yolculuk tamamlanmış olarak kabul edilir. Bir yolculuğun…

  • Müşteri Gereksinimlerini Anladığımızdan Nasıl Emin Olabiliriz?

    Müşteri Gereksinimlerini Anladığımızdan Nasıl Emin Olabiliriz?

    yazar:

    kategori:

    Tipik bir yazılımcı kendisine verilen bir işi görevlere (task) böler ve kod yazmaya başlar. Çoğu zaman bir işi parçalara bölme ve görevler oluşturma işlemi ekip içinde de yapılır. Bir işin parçası olan görevler ekip içinde paylaştırıldıktan sonra, herkes üzerinde düşeni yapmaya başlar. Bir işi parçalara bölmek ve bu şekilde bir işi tamamlamaya çalışmak seçilebilecek en…

  • Programcının Hayatını Kolaylaştıran 18 Alışkanlık

    Programcının Hayatını Kolaylaştıran 18 Alışkanlık

    yazar:

    kategori:

    1. Her Bug İçin Bir Test Yazılması Bir hatayı gidermiş olmak, o hatanın tekrar etmeyeceği anlamına gelmez. Tekrarı durumunda kullanıcıların değil, programcı olarak bizim kısa bir sürede tekrar eden hatayı keşfetmemiz gerekir. Bunun da en kolay yolu, keşfettiğimiz her hata için bir birim testi yazmaktır. Birim testleri hatanın tekrarı durumunda bize en kısa sürede geri…

  • Birim Testlerinde Beklentilerimi Daha Net Nasıl İfade Edebilirim?

    Birim Testlerinde Beklentilerimi Daha Net Nasıl İfade Edebilirim?

    Kodkata.com bünyesinde hazırladığım Koşullu Mantığın Komut İle Değiştirilmesi isimli katada aşağıda yer alan birim testlerinden yola çıkılarak, uygulama yeniden yapılandırılıyor. [source language=”java”] package com.kodkata.kata.replaceConditionalDispatcherWithCommand.orig; import junit.framework.Assert; import org.junit.Test; public class PriceCalculatorTest { private static final String LOCALE_TURKISH_REPUBLIC = "tr_TR"; private static final int DEFAULT_NETTO_PRICE = 100; private static final String LOCALE_GERMANY = "de_DE"; private static…

  • Sözde Lean!

    Sözde Lean!

    yazar:

    kategori:

    Super lean Grails Micro-Services diye bize sattıkları koda bir bakın: [source language=”java”] @Grab("com.h2database:h2:1.3.173") import grails.persistence.* @Entity @Resource(uri=’/books’) class Book { String title } [/source] Bu lean değil, patlamak üzere olan saatli bir bomba. Tek bir sınıf bünyesinde nasıl başardılarsa, sınıfın hem veri tabanı için gerekli JDBC sürücüsü konfigürasyonunu, buradan bir java.sql.Connection nesnesi edinme işlemini, JPA…

  • En Basit Çözümü Oluşturma Yetisi Nasıl Kazanılır?

    En Basit Çözümü Oluşturma Yetisi Nasıl Kazanılır?

    yazar:

    kategori:

    Yıllar içinde yazılımcının beyni karmaşık çözümler üretmek için programlanır. Soyutlama yetisi onun müşteri gereksinimi olarak tabir edilen o karmaşanın içinde çabukça şablonlar ve veri yapıları keşfetmesini sağlar. Bu yüksek derecede problem çözme yetisine sahip beyin, kendisinden basit çözümler beklendiğinde, tökezleyip kalır, çünkü programcının gözü yıllarca karmaşık yapılarla uğraşmaktan çok basit çözümleri göremez hale gelmiştir. Programcı…

  • Pratik Programcı Yayınları Kitaplarında Kullanılan Motifler

    Pratik Programcı Yayınları Kitaplarında Kullanılan Motifler

    yazar:

    kategori:

    Pratik Programcı markasını taşıyan e-kitaplarda kapak motifi olarak güzel Türkiye’mizin tanınmış yerlerinin fotograflarını kullanıyoruz. Bu blog yazımızda şimdiye kadar kullandığımız ve kullanmayı planladığımız motifleri sizlerle paylaşmak istedik. Yeni kitaplarımızda kullanılmasını istediğiniz motifler varsa, bize önerilerinizi gönderin. Kız Kulesi – Pratik Agile kitabında motif olarak kullanıldı. Bogaziçi Köprüsü – Pratik Spring kitabında motif olarak kullanıldı. Milli…

  • Kodun Okunabilirlik Seviyesi Nasıl Artılır?

    Kodun Okunabilirlik Seviyesi Nasıl Artılır?

    yazar:

    kategori:

    Kodun okunabilirliği, kullanılan sınıf, metot ve satır sayısıyla ters orantılıdır. Bunların hepsinden ne kadar az kullanılırsa, o oranda yazılan kodun okunabilirlik seviyesi artabilir. Örneğin versiyon kontrol sisteminden kodu alıp, derledikten sonra oluşan war dosyasını uygulama sunucusuna deploy eden bir program parçası hayal edelim: [sourcecode language=”java”] // Kod 1 Checkout checkout = new CheckOut(); checkout.setFrom("svn://myhost/repo/code/v1"); checkout.to("/home/centos/workspace/code");…

  • Spring 3.x İle Gelen Yenilikler

    Spring 3.x İle Gelen Yenilikler

    yazar:

    kategori:

    Bu bölümde Spring 3.0, 3.1 ve 3.2 sürümlerinde yer alan yenilikleri sizlerle paylaşmak istiyorum. Bu sürümlerde göze çarpan yenilikler şunlardır: Spring 3.0 Bu sürüm ile tüm Spring çatısı Java 5 ile gelen Generics, Varargs ve diğer Java dili yeniliklerini kullanacak şekilde elden geçirilmiştir. Spring’de anotasyon desteği 2.5 sürümü ile gelmiş olsa bile, Spring 3.0 sürümü…