Değişken İsimlendirmenin 5 Kuralı
[Çeviri kaynağı sayfanın yazının sonunda bulunabilir.]
10 yıl kadar önce, henüz üniversitedeyken, bir hocamın değişkenlere çok uzun isimler vermemem gerektiğini, yoksa 'parmaklarımda acı hissedeceğimi' söylediğini hatırlıyorum.
1. Kural tam da bu öğüdün aksini söylüyor:
1. Değişken isimlerini uzun ve açıklayıcı olacak şekilde seçin
Visual Studi'nun IntelliSens'i, Eclipse'in kendi kod tamamlama özelliği var, eminim hangi IDE'yi kullanırsanız kullanın, o da sizin için değişken isimlerini tamamlayacaktır. Uzun değişken isimleri kullanmak, kısa isimlerden doğacak karışıklıkları ya da şifrelenmiş gibi görünen değişken adlarını engelleyecektir.
2. Değişken isimleri içine birimlerini belirtin.
Mühendislikle ilgili bir uygulama geliştiriyorsanız, değişkenlerin birimleriyle de ilgileniyorsunuz demektir. Değişkenin birimini değişken adı içine yerleştirin, örneğin; distanceInMM.
3. Camel Case tarzı isimlendirme yapıyorsanız, genelde birleşik ya da tire (-) ile yazılan kelimelerin baş harflerini büyük yapmayın.
Açıklayayım:
Callback genelde tek bir kelime olarak söylenir. Bu yüzden, lütfen, değişkeninizi callBack şeklinde adlandırmayın.
4. Asla, sakın temp adında bir değişken kullanmayın.
Bunun tek istisnası, iki değişkenin değerini diğerine aktaran swap fonksiyonudur.
5. int i, küçük for döngüleri için tam anlamıyla 'geçerli'dir.
Bunu söylediğim için, beni çarmıha gerebileceklerini söyleyen bir çok programcı tanıdım, fakat eğer döngü eğer yarım düzine satır ya da daha az kod içeriyorsa, int i şeklinde değişken tanımlamak, tümüyle geçerli bir harekettir. Çok genel bir kullanımı vardır, hatta bu şekilde kullanılması beklenir.
Hatırlatma: Bu yazı gayet amatör biçimde, sadece Türkçe kaynak adına bir katkı olsun diye çevrilmiştir, hatalar olması kaçınılmazdır. Şöyle oldu böyle oldu diye gelmeyin kovalarım.
Asıl Hatırlatma: Yazının orjinalini buradan okuyabilirsiniz.
Cumartesi, Temmuz 26, 2008 | 0 Comments
Nasıl daha iyi bir geliştirici olunur?
[Çeviri kaynağı sayfanın yazının sonunda bulunabilir.]
Daha önce bu blog üzerinden "iyi geliştirici nasıl olunur" sorusu sorulmuştu. Yeni başlayan herkesin sormak istediği sorunun bu olduğunu düşünüyorum. Her soru için binlerce cevap bulunabilir, aşağıdakiler de benim cevaplarım:)
1. Tavrınızı belirleyin. Tutumunuz en önemli şeydir. Daha güçlü olabilmek için her gün yeni şeyler öğrenmeniz gerektiği gerçeğine alışmak zorundasınız. Çok hızlı biçimde değişen bir dünyanın parçası olduğunuzu ve hayatta kalmanın tek yolunun çalışmak, çalışmak ve daha fazla çalışmak olduğunu anlamalısınız.
2. Kitap okuyun. Sektörde uzun yıllar tecrübe edinmiş insanlar tarafından yazılmış çok sayıda harika kitap var. Yine sektörün öncüleri tarafından yazılmış çok iyi kitaplar bulmak mümkün. Ve elbette okunması gereken çok sayıda kitap da var. Okumak istediğiniz kitapları seçerken dikkatli olun, paranızı çöpe atmayın. Aldığınız kitapları okuyun, ve okuduklarınız hakkında kafa yorarak düşünün. Her şey eskisi gibi mi, yoksa yeni bir fikir edindiniz mi? Edindiğiniz bilgiyi şimdiki ya da gelecekteki bir iş için nasıl kullanmayı planlıyorsunuz? Geçmişteki hatalarınız nelermiş?
3. Kod Yazın! Kod Yazın! Kod Yazın! Öğrendiklerinizi sindirebilmek için, yazmanız gerektiği kadar çok kod yazın. Her defasında bir önceki seferden daha iyi yazmaya çalışın. Edindiğiz tecrübeleri değerlendirin. Bir önceki seferde yaptığınız hataları analiz edin, ve çözebilmek için yollar bulun. Kullandığınız dil ve platformun değişik özelliklerini deneyin. Aşina olduğunuz dilin değişik özelliklerini kullanabilmek için değişik kalıplar kullanarak kod yazmanız gerekir. Bu şekilde hem kodlama yeteneklerinizi ilerletebilir, hem de bilmediğiniz yeni şeyler öğrenme şansına sahip olursunuz.
4. İşlerinizi kolaylaştıracak yeni araç ve gereçleri deneyin. İşinizin bir parçası her zaman bir şeyleri nasıl çalışır hale getirebileceğinizi bilmektir. Diğer bölümü ise, geliştirme ortamını sağlamanızdır. Kullandığınız IDE'nin (tümleşik geliştirme ortamı) size sunduğu özellikleri inceleyin, ve IDE'nizin dışına çıkmadan edinemeyeceğiniz fakat IDE'nize muhteşem özellikler kazandıracak eklentiler edinin.
5. Yeni Teknolojileri Deneyin. Teknolojinin izini kaybetmemek için bugün neler olduğunu ve yarın neler olabileceğini bilmelisiniz. Yeni teknolojileri keşfetmek için zaman ayırın ve yeni teoriler üzerinde çalışın. Bu teknolojileri nasıl ve ne gibi bir bağlam içinde kullanabileceğiniz üzerinde kafa yorun. Yeni şeylerin nasıl çalıştıklarını görmek için onları deneyin ve bunları kullanan bir şeyler yaratmaya çalışın.
6. Diğerlerinin nasıl sistemler geliştirdiklerine bakın. Diğer elemanların projelerini nasıl geliştirdiklerini görebilmek için kodu açık projelere göz atın. Kodu adım adım takip ederek, hangi durumlarda ne gibi yollar izlediklerini ve neden diğer yolları izlemediklerini anlamaya çalışın. Tabi ki her zaman kodu yazan insanla iletişime geçebilir ve eğer daha iyi bir tavsiyeniz varsa,sistemlerini nasıl daha iyi bir hale getirebileceklerini onlara iletebilirsiniz.
7. Her parlayan şey altın değildir. Piyasada sektörün öncüleri ve dinozorlar var olabilirler, ancak onlar da sizin ve benim gibi birer insandırlar. Hatalar yapabilirler. Bu insanlar genelde bilgi almak için iyi birer kaynak olmalarına rağmen, her zaman edindiğiniz bilginin değerine kendiniz karar verin.
Ayrıca nette bol miktarda bilgi kaynağı bulunabilir; tartışma grupları, chat odaları, forumlar vb. Buralarda yazılanlara inanmadan evvel, mutlaka deneyin. Birileri işlerin şöyle şöyle yürüdüğünü söylüyorsa, körlemesine inanmayın. İşlerin o şekilde yürüyüp yürümediğini deneyin. Analiz için beyninizi kullanın.
8. Topluluklara katılın. Microsoft teknolojileri ile ilgilenen çok sayıda topluluk var, istediğiniz bir topluluğa üye olabilirsiniz. İnsanlarla iletişim kurun, problemlerini çözmelerine yardımcı olun ve başınız derde girdiğinde, siz de yardım isteyin. Ayrıca yerel teknoloji topluluklarına da üye olabilirsiniz ("?" Ç.N.)
9. Teknoloji etkinliklerine katılın. Eğer katılabiliyorsanız, teknoloji ile ilgili organizasyonları kaçırmayın. Teknoloji etkinliği düzenleyen çok sayıda yerel topluluk bulunmaktadır. (INETA gibi) TechEd ve MIX gibi etkinliklere katılmaya çalışın. Yeni ve gelecek olan teknolojiler hakkında bilgi sahibi olabilmek adına bu etkinlikler iyi birer bilgi kaynağıdır.
Evet, biri bana, nasıl iyi bir geliştirici olur diye sorarsa, dikkatini çekebileceğim 9 nokta işte bunlardı. Eğer bu konularda düzeltilmesi gereken yerler olduğunu düşünenler varsa, yorum kısmından iletebilirler.
Hatırlatma: Bu yazı gayet amatör biçimde, sadece Türkçe kaynak adına bir katkı olsun diye çevrilmiştir, hatalar olması kaçınılmazdır. Şöyle oldu böyle oldu diye gelmeyin kovalarım.
Asıl Hatırlatma: Yazının orjinalini buradan okuyabilirsiniz.
Çarşamba, Temmuz 23, 2008 | 1 Comments
Cidden Sahip Olmak İstediğim Şeyler
Edith Piaf: Kulaklık tamam, fareden şimdilik vazgeçtim, fotoğraf makinasını beğenmez oldum.
Edith v2.0: Fare de tamam!
Sennhesier CX500: Bilgisayar başında çalışırken kulaklık şart oluyor neredeyse. (75$)
Logitech VX Nano: Dışarda çalışırken şu anki faremi boyutlarından ötürü taşımak çok zor. Logitech farkıyla süper bir alet. (95$)
Nikon d40X: Profesyonel makinalara giriş anlamında süper bir alet bu da. Ne de olsa Nikon.(1000$)
Model adında X harfi olan elektronik cihazlara ayrı bir sempatim oluşmuş anlaşılan.
Pazar, Mart 23, 2008 | 0 Comments
Matrix Via SSh
These are scenes from Matrix Reloaded Movie, 30:29. Trinity is using SSH to enter the Matrix. Yeah, open your SSH clients and enter now. What is Truth, Neo, is it so simple?
Cuma, Temmuz 06, 2007 | 1 Comments
Google Pagerank'i Olumlu Etkileyen Faktörler-Checklist
Aşağıdaki liste, sayfanızın arama motoru optimizasyonunu yaparken elinizin altında bulunması gereken bir checklist (kontrol listesi)'dir. Burada belirtilen öğelerin hepsi, sayfanızın Google nezdindeki değerini (PR) artıracak özelliklerdir. Yazarının da belirttiği üzere, suistimal edilerek kullanıldıklarında, sitenizin değerini olumsuz etkileyeceklerdir.
Sayfanızı optimize ederken kullanabileceğiniz kontrol listesi
Anahtar Kelimeler
1. -Önemli- URL'de anahtar kelimelerin bulunması
En baştaki kelime en önemlidir. Sonraki kelimeler sırayla daha az önem arzeder.
2. -Önemli- Alan adında anahtar kelimelerin bulunması
Anahtar kelimeler sayfa adında kısa-çizgiyle-ayrılmış şekilde bulunmalıdır.
Header alanındaki anahtar kelimeler
3. Title alanında anahtar kelimelerin bulunması
Anahtar kelimeler başlangıçta bulunmalıdır. Title tag'i 10-60 karakter olmalı ve özel karakterler içermemelidir.
4. Description Meta Tag alanında anahtar kelimelerin bulunması
Bu alan sitenin ana teması hakkında fikir verir. 200 karakterden kısa olmalıdır. Google her ne kadar bu alana güvenmese de, sıklıkla kullanmaktadır.
5. Keyword Meta Tag alanında anahtar kelimelerin bulunması
Bu alan sitenin ana teması hakkında fikir verir. 10 kelimeden az olmalıdır. Bu alanda yer alan her kelime sitenin body alanında en az bir kez yer almalıdır. Yer almazsa Google tarafından alakasız içerik olarak algılanır.
Bu alanda herhangi bir kelime, bir sözcük grubu içinde yer alsa bile iki kereden fazla Keyword Meta Tag'i içinde iki kereden fazla yer almamalıdır. Aksi durumda spam olarak algılanır. Google dışındaki arama motorları bu alanı kullanmaktadırlar.
Body alanında anahtar kelimeler
6. Body alanında kelime yoğunluğu
%5-20(tüm anahtar kelimelerin sayısı/tüm kelimelerin sayısı). Bazı arama motorları bunu konu duyarlılığı olarak raporlamaktadırlar. Anahtar kelimelerin yoğunluğunun spam olarak algılanma eşiği konudan konuya değişmektedir.
7. Tekil kelime yoğunluğu
%1-6 (her kelime/toplam kelime sayısı)
8. -Önemli- H1, H2, H3 ile işaretlenmiş anahtar kelimeler
Hx şeklindeki etiketler uygun şekilde kullanılmalıdır.
9. Anahtar kelimelerin Font Büyüklükleri
Strong etiketi bold etiketi gibi, italik yazılar üzerinde vurgu yapılmış gibi algılanır.
10. Anahtar kelimelerin yakınlığı (2'den fazla anahtar kelime varsa)
Anlam olarak en yakın kelimeler en iyi kelimelerdir.
11. Kelimelerin cümle içindeki sırası
Kelimelerin sayfa içindeki sıralanışı, aramalarda listelenen kelime sıralanışı ile aynı olmalıdır. Uygun sıralanışı bulmak için aranması muhtemel kelime gruplarını tahmin edin, ve anahtar kelimelerinizi buna göre sıralayın.
12. Anahtar kelimelerin önceliği (sayfa içinde anahtar kelimeler hangi sırada geliyor)
Anahtar kelimeler sayfanın en üst kısımlarında, bold (koyu) etiketiyle, büyük fontlarla yazılmalıdır.
Diğer alanlardaki anahtar kelimeler
13. Resimlerin Alt etiketindeki anahtar kelimeler
Buradaki anahtar kelimeler, resmi açıklar nitelikte olmalıdır. Bu alanda spam yapmamak gerekir. (Bu alanın etkisi, sayfanın toplam optimizasyon skoru içerisinde yer alır)
14. Sitenin alt sayfalarına olan bağlantılar içindeki anahtar kelimeler(anchor metni)
Sitenin diğer sayfalarına link verilirken, linkler içerisinde anahtar kelimeler kullanılmalıdır.
Navigasyon-Site içi linkler15. Sitenin sayfalarının linklerindeki anahtar kelimeler
Site içi sayfaların linkleri anahtar kelimeler içermelidir. Linki verilen sayfanın dosya adı da anahtar kelimeler içerebilir. Kısa çizgilerle ayrılmış dosya adları kullanılmalıdır. Ancak dosya adları çok uzun tutulmamalıdır, dosya adında en fazla 3 kısa çizgi bulunmalıdır.
16. Site içi linklerin hepsi geçerli linkler mi?
Site içi tüm sayfalara verilen linklerin geçerli olup olmadıklarını mutlaka kontrol edin. Bu linkteki aracı kullanabilirsiniz.
17. Verimli - Ağaç Tipi Hiyerarşi
Site içindeki herhangi bir sayfaya 2 tıklama ile ulaşılabildiğinden emin olun. 4 tıklamadan daha derindeki sayfalar kabul edilemez.
18. Site içi linkleme
Alt seviye sayfalar arasında uygun şekilde linkler verilmesini sağlayın.
Navigasyon-Dışarı Linkler
19. Site dışına verilen linkler anahtar kelimeler içeriyor mu?
Google Patentli √- Sadece kaliteli sitelere link verin. Link çiftliklerine bağlantı vermeyin. Bu türlü linkler sitenizin değerini düşürebilir. Ne yazık ki dışarı verdiğiniz linklerin kalitesini kontrol etmek için gerekli zamanı ayırmalısınız. Bu linkler sizin sorumluluğunuzdadır.
20. Dışarı verilen linkler için Anchor metni
Google Patentli √- Bu metinler konu ile alakalı ve açıklayıcı olmalıdır.
21. Linklerin zamanla sabit kalması
Google Patentli √- Dışarı verdiğiniz linkler zamanla kırık ya da ulaşılamaz hale gelmemelidir.
22. Dışarı verilen linkler geçerli mi?
Dışarı verdiğiniz linkleirn geçerliliğini zaman içerisinde düzenli olarak kontrol etmelisiniz.
23. Toplamda en fazla 100 dış link
Google, maksimum dış link sayısının 100 olması gerektiğini söylese de, bu sayının 2 ya da 3 katını da kabul ettiğini biliyoruz.
Sayfa üzerindeki Diğer faktörler
24. Alan Adı Uzantısı, En üst Seviye Alan Adı(Top Level Domain)
.gov uzantılı siteler, statüsü en yüksek sitelerdir.
.edu uzantılı siteler, yüksek statülü sitelerdir.
.org uzantılı siteler, yüksek statülü sitelerdir.
.com uzantılı siteler, spam ve suistimal siteleri için en çok kullanılan sitelerdir ve Google en çok bu siteleri tetkik eder.
Artık .info uzantılı siteler de gayet yüksek PR değerleri alabiliyorlar.
25. Sayfa Boyutu
Çok özel durumlar dışında sayfa boyutunun 100 Kb'ı aşmamasına özen gösterin. 40 Kb'dan daha küçük sayfalar en çok tercih edilen sitelerdir.
26. URL'de kısa çizgilerin bulunması
URL'de boşluk bulunamayacağı için, boşluk karakteri yerine kısa çizgi kullanmak en çok kullanılan yöntemdir.
1 ya da 2 kısa çizgi, anahtar kelimeleri ayırmak için idealdir.(örneğin pet-smart, pets-mart)4 ya da daha fazla kısa çizgi=KÖTÜDÜR. Spam yapılıyor gibi görünmesine yol açar. 10 kısa çizgi= Kesinlikle spamdir, sitenin değerini düşürebilir.
27. Sayfanın Tazeliği
Google Patentli √- Zamanla değişse de, daha taze olan daha iyidir. Bu bir haber sitesi, perakende satış yapan site ya da açık arttırma sitesi de olabilir. Google taze sayfalardan hoşlanır, tabi ben de:)
28. Tazelik - Değişen içerik oranı
Eski sayfaların yeni sayfalara olan oranıdır.
29. Linklerin Taze Olması
Google Patentli √- İyi ya da kötü sonuçlar doğurabilir, Çok güvenilen siteler için çok iyidir, yeni açılmış, çok güvenilmeyen siteler için iyi sonuçlar getirmez.
30. Sayfanın yenilenme sıklığı
Sık yapılan güncellemeler = sayfanın arama motorları tarafından daha sık taranması = sayfanın daha sık cache'lenmesi demektir.
31. Sayfanın Ana Teması
Sayfa kendi temasını sergileyebiliyor mu? Kendi içinde genel bir tutarlılığı var mı?
32. Anahtar kelimelerden türemiş kelimelerin kullanımı
Kazanmak, kazanç gibi.
33. Anlambilimin uygulanması
Eşanlamlı sözcüklerin kullanımı
34. Gizli anlama dayalı indeksleme
Şimdilik spekülasyondan ibaret, henüz bir kanıt yok.
35. URL Uzunluğu
URL'leri mümkün olduğu sürece kısa tutmaya çalışın.Internet Explorer maksimum 2000 karaktere izin verse de, 100 karakterden azı iyidir. Tabi daha azı daha iyidir.
Site üzerindeki Diğer faktörler
36. Sitenin büyüklüğü-Google büyük sitelerden hoşlanır.
Google milyonlarca sayfayı tarar ve yığar, ya da tamamlar. Daha büyük siteler daha iyi sitelerdir.
37. Sitenin yaşı
Google Patentli √- Daha yaşlı olan daha iyidir. Sitenin yaşı Google için altındır.
38. Sayfanın yaşına karşılık sitenin yaşı
Eski bir sitedeki yeni sayfalar daha çabuk taranma şansına sahip olurlar.
Hatırlatma: Bu yazı gayet amatör biçimde, sadece Türkçe kaynak adına bir katkı olsun diye çevrilmiştir, hatalar olması kaçınılmazdır. Şöyle oldu böyle oldu diye gelmeyin kovalarım.
Asıl Hatırlatma: Yazının orjinalini buradan okuyabilirsiniz.
Cuma, Haziran 15, 2007 | 2 Comments
Google Adsense'den Nefret Etmek İçin 5 neden

Adsense hesabı banlanan (hesaba girişi engellenen) bir arkadaşımız, Google Adsense'den öylesine nefret etmiş ki, hislerini detaylıca yazıya dökmüş. Üşenmeden Türkçeleştirip paylaşmak istedik. İşte yazı:
Adsense'den Nefret Etmeme Yol Açan 5 Neden
5. Telefon desteği yok. Telefonla bir çok iş yapıyorum, hatta Yahoo Publisher's Network ile olan telefon görüşmemi şimdi bitirdim.
4. Reklamdan içerik olmadan para kazanan siteleri yasaklıyorlar. Doğru şekilde yapılırsa, içerik olmadan da Google Adsense ile evden para kazanmak mümkün, hep de mümkün kalacak. Dahası, Google da halen bu şekilde para kazanıyor ve reklamverenler de halen kaliteli tıklamalar elde ediyorlar.
3. E-mail desteği berbat. Adsense'in müşteri desteği genelde berbat. Maillerimi okumaları 2 gün sürüyor, müşterilere saygı duymuyorlar, Adsense müşteri desteği çalışanları ile AIM, Skype, MSN ya da Yahoo Messenger aracılığıyla iletişim kurmak mümkün değil, dahası mail bile atsanız, doğru düzgün bir cevap yazmıyorlar, sadece yazılı kurallar ve kullanım koşulları metninden bir parşayı kopyalayıp size cevap olarak yolluyorlar.
2. Bir kere banlanırsanız geri dönmeniz mümkün değil. Oda arkadaşımın bile Adsense müşterisi olmasına izin vermiyorlar, neden? Çünkü benimle birlikte yaşıyor. 2 yıl önce banlanmış olan ve tekrar Adsense hesabı alamayan insanlar var. Benim başka bir şirket hesabıyla bile geri dönmeme izin vermiyorlar.
1. İnterneti sahipleniyorlar! Herkesin, tıklama başına ücret ödeyen, daha özelleşmiş, kaliteli reklamlar verebilen akıllı girişimci şirketlere ihtiyacı var. Bunun yerine herkes internette 3 büyük reklamveren şirkete sırtını dayamış. Neden biz de tıklama başına para verebilecek metin-tabanli-reklam.com gibi bir şirkete sahip olmayalım?
Hatırlatma: Bu yazı gayet amatör biçimde, sadece Türkçe kaynak adına bir katkı olsun diye çevrilmiştir, hatalar olması kaçınılmazdır. Şöyle oldu böyle oldu diye gelmeyin kovalarım.
Asıl Hatırlatma: Yazının orjinalini buradan okuyabilirsiniz.
Perşembe, Haziran 14, 2007 | 5 Comments
