Menü

Türkiye adres üretici: il, ilçe, mahalle ve posta kodu uyumu

Türkiye adres üretici ile il, ilçe, mahalle, sokak ve posta kodunu tutarlı üretmenin yollarını, Türkçe büyük harf tuzaklarını ve adres formu testi ipuçlarını anlatıyoruz.

Yayın tarihi

  • adres
  • Türkiye
  • test verisi

Türkiye adres üretici, Türk adres sisteminin katmanlarını bilen ve il seçiminden daire numarasına kadar bütün alanları birbiriyle tutarlı biçimde dolduran bir araçtır. Türkiye adresleri kısa görünür ama içinde iki farklı sıralama düzeni, beş haneli bir posta kodu ve Türkçeye özgü harf dönüşüm tuzakları barındırır. Bu yazıda bu katmanların nasıl kurulduğunu, posta kodu ile il bağının nasıl doğrulandığını, büyük İ ve noktasız ı sorununun veriyi neden bozduğunu ve adres formlarında hangi karakter kümesi hatalarının çıktığını bulacaksınız.

Türkiye adres üretici hangi katmanları doldurur?

Bir Türk adresi küçükten büyüğe doğru iç içe geçen katmanlardan oluşur. En küçük birim daire numarasıdır; onun üstünde bina numarası, sonra sokak ya da cadde adı, sonra mahalle gelir. Bunların üstünde ilçe ve en dışta il bulunur.

Bu sıralamanın her katmanı bir sonrakinin kapsamını daraltır. Aynı sokak adı Türkiye’nin farklı illerinde bulunabilir; mahalle ve ilçe bilgisi eklendiğinde kayıt tek bir noktaya yaklaşır. Bu yüzden bir formda bu alanlardan birinin eksik bırakılması, adresi belirsiz hâle getirir.

Araç bu katmanların hepsini birlikte üretir ve aralarındaki bağı korur. Mahalle değiştiğinde sokak, ilçe değiştiğinde posta kodu da değişir. Tipik bir Türk adres kaydını canlı görmek için adres üretici sayfasında ülke olarak Türkiye’yi seçebilirsiniz.

Türk adreslerinde yazım sırası neden iki farklı biçimde karşımıza çıkar?

Türkiye’de adres alanlarının sırası, nerede kullanıldığına göre değişir. Formlarda ve seçim ekranlarında ilk alan genellikle ildir; çünkü il seçimi ilçe listesini, ilçe seçimi de mahalle listesini süzer. Bu yüzden form alanları büyükten küçüğe doğru sıralanır.

Zarf üzerindeki adres ise bunun tersine, küçükten büyüğe yazılır. Önce mahalle, sokak ve bina numarası, ardından posta kodu ile ilçe, en sonda il gelir. Alıcı adı en üstte yer alır. Avrupa ülkelerinin çoğunda form alanları da küçükten büyüğe sıralandığı için, Türkiye’de ilk alanın il olması yabancı geliştiriciler için şaşırtıcı olabilir.

Bu ikilik, veri modeli kurarken bilinçli ele alınmalıdır. Ekrandaki seçim sırası ile saklama sırası ve görüntüleme sırası ayrı ayrı tanımlanmalıdır; aksi hâlde aynı kayıt formda ve çıktıda farklı sıralarda görünür.

Posta kodu ile il arasındaki bağ nasıl kurulur?

Türkiye’de posta kodu beş hanelidir ve ilk iki hane ilin plaka koduyla örtüşür. Bu, ülkenin en kullanışlı tutarlılık kurallarından biridir; çünkü posta kodunun başındaki iki hane ile il alanı birbirini doğrular. Kodun başındaki hane çifti ile il uyuşmuyorsa kayıt büyük olasılıkla hatalıdır.

Bu kural, yalnızca biçim denetimi yapan bir kodu çok daha güçlü hâle getirir. Beş hane olup olmadığını kontrol etmek, yanlış il yazılmış bir adresi yakalamaz. İki alanı birlikte değerlendirmek ise hem mutlu yolu hem de en sık yapılan eşleme hatasını kapsar.

Posta kodunu sayısal alan olarak saklamak burada da tuzaktır. Baştaki sıfır anlamlıdır ve sayısal bir alanda kaybolur. Kodu metin olarak tutmak, hem sıfırı hem de olası boşlukları korur.

Türkçede büyük İ ve noktasız ı neden adres verisini bozar?

Türk alfabesinde dört ayrı i harfi vardır: noktalı küçük i, noktasız küçük ı, noktalı büyük İ ve noktasız büyük I. Bu dörtlü, adres verisinde sessiz ama yaygın bozulmalara yol açar. “İstanbul” kelimesini büyük harfe çevirirken noktalı İ kullanılmazsa kelime “ISTANBUL” olur ve okunuşu değişir.

Asıl sorun küçük harfe çevirmede ortaya çıkar. Birçok programlama dilinin varsayılan dönüşümü, noktalı büyük İ harfini küçük i ve ardından ayrı bir nokta karakteri olarak üretir. Görünüşte aynı olan bu iki dize, bayt düzeyinde farklıdır; bu yüzden arama, karşılaştırma ve yinelenen kayıt denetimi beklenmedik biçimde başarısız olur.

Bu tuzağın çözümü, dönüşümü dile özgü kurallarla yapmaktır. Türkçe için tanımlanmış büyük harf küçük harf eşlemesi kullanılmadığı sürece, aynı ilçe adı veritabanında iki farklı kayıt gibi görünür. Sıralama da aynı nedenden etkilenir: noktasız ı, alfabede noktalı i harfinden önce gelir ve bu sıra yalnızca Türkçeye özgü bir sıralama kuralıyla doğru uygulanır.

Seksen bir il listesi neden uygulamanın içine gömülmemelidir?

Türkiye’de seksen bir il ve bunların altında değişen sayıda ilçe vardır. Bu listeyi kodun içine sabit yazmak, ilk bakışta pratik görünür ama bakımı hızla sorunlu hâle gelir. İlçe sayısı zaman içinde değişir, bazı ilçeler yeni kurulur ve yazım biçimleri güncellenir.

Doğru yaklaşım, il ve ilçe listesini veri olarak tutmak ve uygulamadan bağımsız güncelleyebilmektir. Böylece hem seçim alanları hem de doğrulama aynı kaynaktan beslenir. Listede olmayan bir değer geldiğinde ne yapılacağı da baştan kararlaştırılmalıdır: kayıt reddedilecek mi, yoksa uyarı verilip devam mı edilecek?

Bu karar kullanıcı kitlesine göre değişir. Yalnızca Türkiye’ye hizmet veren bir uygulamada katı bir liste doğru olabilir; yurt dışındaki kullanıcıların da adres girdiği bir sistemde ise serbest metne izin vermek gerekebilir. Ülke seçim alanlarının nasıl sınandığını ülke seçim alanı testleri yazısında ayrıntılı bulabilirsiniz.

Telefon alan kodu ile şehir nasıl eşleştirilir?

Türkiye’de sabit hat numaraları il ve bölgeye göre değişen alan kodları kullanır; İstanbul, Ankara ve İzmir’in kodları birbirinden farklıdır ve bazı iller kodu paylaşır. Cep telefonu numaraları ise il kodu taşımaz, yalnızca ülke kodunu kullanır. Bu ayrım, adres kaydı ile telefon alanı arasındaki tutarlılık denetiminde belirleyicidir.

Bir kayıtta il ile sabit hat alan kodu uyuşmuyorsa, bu genellikle veri girişinde yapılan bir hatayı gösterir. Ancak bu kontrolü sert bir kural hâline getirmek risklidir; çünkü numara taşıma ve kurumsal santral kullanımı yüzünden numaranın coğrafi konumu ile kayıtlı adres her zaman aynı olmaz.

Test verisi üretirken en güvenli yol, alan kodunu ile göre tutarlı üretmek ama doğrulamada bunu uyarı düzeyinde tutmaktır. Bu konunun genel mantığını telefon kodu ve yerleşim eşleşmesi yazısı daha ayrıntılı açıklıyor.

Adres formu testlerinde hangi karakter kümesi sorunları çıkar?

Türkçe adresler ç, ğ, ı, İ, ö, ş ve ü harflerini yoğun biçimde kullanır. Bu harflerin formdan veritabanına, oradan da raporlama katmanına kadar bozulmadan geçmesi gerekir. En sık görülen hata, formun bu harfleri kabul etmemesi ya da kaydettikten sonra farklı göstermesidir.

İkinci sorun, adres alanının uzunluk sınırıdır. Mahalle ve sokak adlarının birleşimi sanılandan uzun olabilir; kısa bir sınır koymak geçerli kayıtları keser. Üçüncü sorun ise büyük harfe çevirme işlemidir; kargo etiketi için yapılan dönüşüm Türkçe kurallara uymazsa adres okunmaz hâle gelir.

Test kümesinde bu üç durumu ayrı ayrı kapsamak gerekir. Alfabetik olmayan bir karakter içeren kayıt, uzun bir sokak adı ve yalnızca noktasız ı ile İ harflerinden oluşan bir yer adı, doğrulama kodunuzun sınırlarını hızla ortaya çıkarır.

Türkiye adres verisinde hangi alanlar birlikte saklanmalıdır?

Adres alanları ayrı ayrı saklandığında, aralarındaki ilişki kaybolur. İl, ilçe ve mahalle tek bir serbest metin alanına yazıldığında, bu üç değeri sonradan ayırmak neredeyse imkânsız hâle gelir.

Doğru yaklaşım, katmanları ayrı alanlarda tutmak ve yalnızca görüntülerken birleştirmektir. Böylece doğrulama her katmanı kendi kuralıyla denetleyebilir, raporlama ise il düzeyinde gruplama yapabilir.

Sokak ve bina numarası için ayrı bir karar gerekir. Sokak adı serbest metin olmalıdır; çünkü gerçek adlar çok çeşitlidir ve sabit bir listeye sığmaz. Bina ve daire numarası ise rakam ağırlıklı görünse de metin olarak saklanmalıdır; çünkü bunlar aritmetik değer taşımaz. Bu ayrımın ayrıntısı adres doğrulama ve normalleştirme yazısında ele alınıyor.

Kargo adresi ile fatura adresi neden ayrı ele alınır?

Kargo adresi teslimatı, fatura adresi ise hukuki kaydı temsil eder. İkisi çoğu zaman aynıdır; ama kullanıcının farklı bir teslimat adresi girmesi olağandır. Formun bu ikiliği desteklemesi gerekir.

Fatura adresi genellikle daha katı doğrulanır. Vergi kimliği, unvan ve kayıtlı adres birlikte istenir; çünkü bu bilgiler bir belgeye yazılacaktır. Kargo adresinde ise teslimatı etkileyen alanlar öne çıkar: mahalle, sokak, bina ve daire.

Arayüz açısından en sık yapılan hata, iki adresi tek bir onay kutusuyla birbirine bağlamaktır. Kullanıcı kutuyu işaretledikten sonra fatura adresini değiştirdiğinde eşitleme bozulur. İki adresi ayrı tutup bir kopyalama düğmesi sunmak daha öngörülebilir bir davranış üretir. Faturalama formlarının sınanması için faturalama formu test durumları yazısı yararlı olur.

Adres kaydını tekilleştirmek neden zordur?

Aynı adresin iki farklı biçimde yazılması, veri kümelerinde en sık karşılaşılan sorundur. Bir kayıtta cadde, diğerinde sokak yazılmış olabilir; kapı numarası birinde sonda, diğerinde başta durabilir.

Tekilleştirmenin ilk adımı normalleştirmedir. Büyük harf küçük harf farkı, fazladan boşluklar ve kısaltmalar tek bir biçime indirilir. Bu işlem Türkçe için dile özgü kurallarla yapılmalıdır; aksi hâlde noktalı ve noktasız i harfleri ayrı kayıtlar üretir.

İkinci adım, güçlü bir anahtar seçmektir. Posta kodu, ilçe ve sokak adı birleşimi çoğu zaman yeterlidir; yalnızca il düzeyi ise çok kabadır. Test verisinde tekilleştirme kodunu sınamak için bilerek iki farklı yazımla üretilmiş aynı adres bulunmalıdır.

Ekip için hangi hazır test kümesi gerekir?

Türkiye adresleriyle çalışan bir ekip için asgari küme yedi örnek içerir. Bunlar sade bir adres, daire numarası taşıyan bir adres, uzun bir sokak adı, posta kodu ile ili uyuşmayan bir kayıt, yalnızca noktasız ı içeren bir yer adı, noktalı büyük İ ile başlayan bir il adı ve boş bırakılmış bir mahalle alanıdır.

Bu örneklerin bir kısmı geçerli, bir kısmı bilerek bozuktur. Bozuk örneklerin hangi kuralı ihlal ettiği testin içinde yazılmalıdır; aksi hâlde test başarısız olduğunda nedenini anlamak zorlaşır.

Kümeyi sürüm denetiminde tutmak ve üretildiği anahtarı belirtmek, ekibin aynı girdiyle aynı sonucu görmesini sağlar. Küme büyüdükçe kapsamı gözden geçirmek için ülke verisi kapsam listesi iyi bir çerçeve sunar.

Telefon alan kodu ile il uyumu nasıl kurulur?

Türkiye’de sabit hat alan kodları il ve ilçe düzeyinde dağıtılmıştır. Bu yüzden adres kaydı ile telefon alanı arasında kurulabilecek bir bağ vardır ve test verisi bu bağı koruyabilir.

Cep telefonu numaraları ise il kodu taşımaz; bu ayrımı bilmeden kurulan bir doğrulama, geçerli numaraları reddeder. Alan kodunu yalnızca sabit hat için denetlemek gerekir.

Sınamanın en kolay yolu, doğru il ile yanlış alan kodunu birleştiren bir kayıt üretmektir. Form bu kaydı kabul ediyorsa, telefon ile adres arasındaki bağ hiç kullanılmıyor demektir.

Kısaltma ve yazım farkları nasıl ele alınır?

Adreslerde sokak, mahalle ve cadde kelimeleri sık sık kısaltılır. Aynı adres, bir kayıtta kısaltmayla diğerinde tam yazımla geçebilir. Arama ve eşleştirme bu farkı tolere etmelidir.

Çözümün ilk adımı, kısaltmaları tek bir biçime indiren bir sözlük tutmaktır. Sözlük koddan bağımsız olmalı ve ülkeye özgü olmalıdır; başka bir dilin kısaltma listesi burada işe yaramaz.

İkinci adım, karşılaştırmayı büyük küçük harf duyarsız yaparken Türkçe kurallara uymaktır. Yanlış bir küçük harfe çevirme işlemi, aynı adresi iki farklı kayda dönüştürür.

Üretilen kaydı üretime taşımadan önce ne kontrol edilir?

İlk kontrol, kaydın sentetik olduğunun açıkça işaretlenmesidir. Test ortamından gelen bir kaydın üretim veritabanına sızması, en ağır veri kirliliği türüdür.

İkinci kontrol, kaydın gerçek bir adrese çok benzemesidir. Rastgele seçilen bir sokak adı ile gerçek bir kapı numarası birleştiğinde, ortaya var olan bir adres çıkabilir. Bu yüzden kayıtların gerçek olmadığını belirten bir alan bulunmalıdır.

Üçüncü kontrol, kaydın hangi araç ve hangi sürümle üretildiğinin kaydedilmesidir. Bu bilgi olmadan, ileride aynı kaydı yeniden üretmek mümkün olmaz.

Bu kayıtların sınırı nedir?

Burada üretilen Türkiye adresleri sentetik test verisidir. İl, ilçe ve posta kodu eşleşmesi gerçek kurallara uyar; ama kayıtlar gerçek bir kişiye ya da gerçek bir kapıya karşılık gelmez ve posta gönderimi için kullanılamaz.

Bu veriler kendi formunuzu, doğrulama kodunuzu ve Staging ortamınızı sınamak için üretilir. Başka bir kişi adına işlem yapmak, gerçek bir hesap açmak ya da bir doğrulamayı aşmak amacıyla kullanılamaz; aracın sınırı burada biter. Türkiye kayıtlarının ülke düzeyindeki görünümü için Türkiye sayfası kısa bir özet sunar.

Okumaya devam edin

Popüler araçlar ve kullanım makaleleri