Comment yazmalı mı? yazmamalı mı?

Yazılım hayatıma başladığım günden beri yazdığım tüm kodlara kısa da olsa comment yazma alışkanlığım vardı. Ama nasıl comment öle böyle değil genellik kod kısmında fazla olurdu 🙂 İlk çalıştığım şirkette bu durum oldukça normal hatta olması gereken olarak görülürdü. Çünkü yazdığımız uygulama finansal işlemler yaptığı için uygulanan iş kurallarını belirtmek gerekirdi. Mağlum finans sektörünün kendi jargonu, dili, kuralları var öle bakıpta anlaşılacak cinsten olmazdı kodlar. Hatta yazdığınız kodun bu kurala uyabilmek için saçmalama sıfatına bile sahip olması gerekirdi. Comment olmadan bakan yanlış bu sil der, tüm kuralı bozabilirdi.

Sonra gün geldi iş değiştirdim. Tabi ben gene comment yazıyorum böle koca koca bloklar halinde. Bu durum takım liderimin gözüne takıldı ve bana “Comment yazma böyle, kod anlaşılır olsun, dedi” Çok zoruma gitmişti sonuçta o commentleri ben daha sonra okuyan yazılımcı(bende olabilir tabiki ben) küfür etmesin anlasın diye yazıyordum. Ondan sonraki süreçte comment yazmayı braktım tabiki. Ama hep bir tartışma oldu yazmalı mı yazılmamalı mı, yok efendim kod kendini açıklamalı faldı filandı ki buda doğru.

Bu sabah okuduğum bir yazıda şöyle bir cümle okudum “Code Tells You How, Comments Tell You Why” ve bir anda şimşekler çaktı. Evet aslında basit ama bazı şeyleri öyle düz mantık ile yapıyoruz ki, aaa bunu yapmak iyi okuyunca anlıyoruz ozaman yazalım diyip geçiyoruz. Aslında tam olarak neden yazıyoruz bilmiyoruz. İşte bu cümle comment yazmada tam olarak sebebi açıklayan durum oluyor. Comment yazma işine böyle bakmak lazım.

Kodlar size nasıl olduğunu, Yorum Satırları ise neden olduğunu söyler!

Şunuda yazmadan geçemicem, eğer kod’ta, comment’te nasıl sorusunu cevaplıyor ise ozaman “Refactoring” vakti gelmiştir.

IFrame içinden Parent-Page URL bilgisini almak

Üzerinde çalıştığım bir projede farklı bir domain içinde olan formları farklı domainlerdeki sitelerde iframe olarak ekleniyordu. Eklenen bu siteler iframe içinden, iframe yer aldığı sayfanın URL bilgisini almam ve bir hiddenfield içine atmam gerekiyordu ki bu bilgiyi server-side olarak kullanabilmek için.

Doğal olarak bir backend developer olarak önce server side denemeler yaptım ama fark ettim ki en güzel yol bunu javascript olduğunu fark ettim.
İlk olarak “parent.document.location.href” kodunu kullandım. Local testlerde sıkıntı olmadı fakat gerçek ortam testlerine sıra geldiğinde karşıla “Cross-Domain” hatası çıktı tekrardan. Doğal olarak formlar başka yerde gösterim yapılan yer başka.
Ve nihaği çözümü altta yer alan kod ile gerçekleştirdim.
İlk aşamada (try bloğu içinde) parent-page url bilgisi “parent.document.location.href” ile alınmaya çalışılıyor.
Burada, Cross-domain yada parent-page url bilgisi almaya çalışılırken başka bir hata alınırsa (catch bloğu içinde) işlem “document.referrer” ile gerçekleştiriliyor. Gereken bilgi sayfada yer alan hdParentPage id’li hidden içine aktarılmış oluyor.

Olmazsa Olmaz Visual Studio Extension’larım

Aşağıda iş hayatımda kullandığım ve iş süreçlerinize çok çok yardımcı olacak Visual Studio Extension’larım vardır. Emin olun sizinde işinize yarayacak.

Ayrıca genel olarak Visual Studio extensionların siteside aşağıdadır olurda sizde kurcalamak istersiniz;
http://visualstudiogallery.msdn.microsoft.com/