Bir Programcıya “Loose Coupling” Anlatmak
Adamın biri dert yanıyor, programcıma “loose coupling” ve “infromation hiding” gibi meselelerin ehemmiyetini nasıl anlatırım diye. Gelen cevaplar, gerçekten iç açıcı. Örneğin “hayatın içinden” bir resme bakın:
Eğer “gevşek bağlılık” prensibi olmasaydı, fişler, prizler de olmazdı. Tüm bağlantıları elimizle, lehimimizle kendimiz yapardık.
İşte programları kodlarken de bu tarz prensipleri titizlikle uygulamak gerek. Lehim yapmamak, elektriğe karşı yiğitlenmemek gerek.
Ya “bilgi saklama”? Ya yazdığınız nesneler, transparan sahne kıyafetiyle ortamlarda salınıyor ise… Ne kadar ciddi bir problem değil mi? Ciddiyetini anlamayan adama anlatmak için bomba misâl, Boris Pavlović’ten geliyor:
“Senden, cüzdanını isteyip kendi kendime içinden 10 lirayı borç almam hoş olur muydu?”
Ve buradaki “ben”i, “herhangi biri” olarak değiştirin. Cüzdanını veriyorsunuz, herkes kendisi alıyor istediğini. “Information hiding”i böyle anlatırsın demişler.
Yine de hiçbir programcıya bu kavramları, bu prensipleri damdan düşer gibi öğretemeyeceğiniz, kafasına çakamayacağınız kesin. İşin anahtarı dinamik “tecrübe”. Karpuz gibi yatan tecrübenin elbette, bir hocamızın dediği gibi, geminin arka tarafını aydınlatmaktan başka yapacağı yok.
Fiziksel tecrübe, soyut tecrübelerle kıyaslanamayacak kadar değerli. Bu tecrübe de ancak öğrendiğini tatbik ederek kazanılır. (*)

