Menü

Ülkelere göre posta kodu biçimleri: neye dikkat etmeli?

Bazı ülkeler beş haneli sayı, bazıları harf ve rakam karışımı, bazıları ise hiç posta kodu kullanmaz. Biçim farklarını, baştaki sıfır tuzağını ve doğrulama yaklaşımını anlatıyoruz.

Yayın tarihi

  • adres
  • test verisi
  • doğrulama

Ülkelere göre posta kodu biçimleri, tek bir kalıba sığmayacak kadar çeşitlidir; aynı form alanı bir ülkede beş hane beklerken başka bir ülkede harf ve rakam karışımı ister. Bu yazıda posta kodlarının neden ülkeden ülkeye değiştiğini, hangi ülkelerin bu sistemi hiç kullanmadığını ve bir doğrulama kuralı yazarken en sık düşülen tuzakları bulacaksınız.

Posta kodları neden ülkeden ülkeye bu kadar farklı?

Posta kodu, bir taşıma şirketinin kendi dağıtım ağını düzenlemek için geliştirdiği bir araçtır. Her ülkenin ağı farklı kurulduğu için kodun şekli de farklı çıkmıştır. Nüfusun yoğun olduğu küçük bir ülkede kısa bir kod yeterken, geniş ve seyrek yerleşilmiş bir ülkede daha fazla ayrıntı gerekir. Bu yüzden “posta kodu kaç hanelidir” sorusunun dünya ölçeğinde tek bir cevabı yoktur.

Kodun içine ne yazıldığı da ülkeye göre değişir. Kimi ülkeler yalnızca rakam kullanır ve kodu bölgesel bir sıralama gibi okur. Kimi ülkeler harfleri de işe katar ve harfin konumuna anlam yükler. Kimi ülkeler ise kodu iki parçaya böler: bir parçası bölgeyi, diğer parçası o bölgedeki teslim noktasını gösterir.

Önemli olan şu ayrımı akılda tutmaktır: posta kodu bir adresin doğru olduğunu kanıtlamaz. Yalnızca kodun biçiminin ve kapsamının makul göründüğünü gösterir. Kodun varlığı ile adresin gerçekten var olduğu, birbirinden ayrı iki sorudur.

Hangi posta kodu biçimleri karşımıza çıkar?

Karşılaşılan biçimleri kabaca üç grupta toplamak mümkündür:

  • Yalnızca rakamlardan oluşan kodlar. Genellikle dört ile altı hane arasında değişir; baştaki sıfır anlamlıdır ve kaybedilmemesi gerekir.
  • Harf ile rakamın karıştığı kodlar. Bazı ülkelerde harf ve rakam dönüşümlü sıralanır, bazılarında ise kodun bir bölümü harf, kalanı rakamdır.
  • Bölge kodu ile teslim noktasını birleştiren kodlar. Bu kodlarda ilk parça geniş bir alanı, sonraki parçalar ise giderek daralan bir bölgeyi tarif eder.

Bu grupların içinde bile ülke içi farklılıklar bulunur; zamanla sisteme yeni parçalar eklenebilir. Bu yüzden bir ülke için öğrendiğiniz kuralı kalıcı bir gerçek gibi değil, o günkü durumun bir özeti gibi düşünmek daha doğrudur. Yeni bir biçimin ortaya çıkabileceğini baştan kabul eden bir doğrulama kodu, sonradan yapılacak değişiklikleri çok daha ucuz hale getirir.

Ülkeler arasındaki farkı somutlaştırmak için iki uç örneğe bakalım. Birleşik Krallık’ta kod iki parçaya ayrılır: ilk parça geniş bir bölgeyi, ikinci parça ise o bölge içindeki dar bir teslim alanını gösterir ve parçalar arasında boşluk bulunur. Hollanda’da ise kod dört rakam ile iki harften oluşur; rakamlar bölgeyi, harfler sokak düzeyindeki dağıtımı anlatır. Ayrıntılı örnekler için ülke sayfaları her ülkenin tipik yazımını gösterir.

Posta kodu kullanmayan ülkeler hangileridir?

Dünyadaki her ülke posta kodu sistemine sahip değildir. Bazı ülkeler hiç kurmamıştır, bazıları ise yalnızca büyük şehirlerde kısmi bir uygulama yürütür. Bu ülkelerden birine ait bir adres üretirken posta kodu alanı boş kalmalıdır; uydurma bir değer yazmak, veriyi olduğundan farklı gösterir.

Sorun genellikle formun kendisinde ortaya çıkar. Alanı zorunlu tutan bir form, posta kodu sistemini kullanmayan bir ülkeden gelen kullanıcıyı çıkmaza sokar. Uygulamada sık başvurulan çözüm, alan zorunluysa yer tutucu bir değer kabul etmektir; ama bu çözüm yalnızca veri toplama amacıyla uğraşan sistemler için makul bir tavizdir.

Test verisi tarafında bu durumu ayrı bir senaryo olarak ele almak gerekir. Posta kodu kullanmayan bir ülke seçildiğinde sistemin davranışı ne olacak? Alan gizlenecek mi, boş mu kalacak, yoksa hata mı verecek? Bu üç davranışın hangisinin beklendiği baştan yazılı olmalıdır.

Baştaki sıfır neden kaybolur?

En yaygın teknik hata, posta kodunu sayı olarak saklamaktır. Sayı tipinde baştaki sıfırlar düşer; altı haneli bir kod beş haneye iner ve artık başka bir yeri tarif eder. Bu hata, gözle hemen fark edilmez çünkü ortaya çıkan değer hâlâ bir sayıdır ve biçim denetiminden geçebilir.

Çözüm basittir: posta kodunu her zaman metin olarak saklayın. Kodun rakamlardan oluşması, onun sayı olduğu anlamına gelmez; posta koduyla aritmetik işlem yapılmaz, sıralama yapılmaz, toplama çıkarma yapılmaz. Kodu bir etiket gibi düşünmek, bu sınıf hataların tamamını ortadan kaldırır.

Aynı sorun, veriyi dışa aktaran raporlarda da karşımıza çıkar. Bir elektronik tablo uygulaması bir sütunu sayı sanıp baştaki sıfırı kırpabilir. Bu yüzden dışa aktarım sırasında sütunun metin biçiminde kalmasını sağlamak gerekir; aksi halde kaynak veritabanı doğru olsa bile paylaşılan dosya bozulur.

Posta kodu ile şehir uyuşmazsa ne olur?

Adres verisinde en sık rastlanan tutarsızlık, şehir ile posta kodunun aynı bölgeye ait olmamasıdır. Bir kayıt doğru bir şehir adı ve doğru biçimde bir kod taşıyabilir, ama ikisi farklı yerleri işaret edebilir. Biçim denetimi bu durumu yakalayamaz; çünkü her iki değer de kendi başına kusursuzdur.

Bunu yakalamanın tek yolu bir kapsam kontrolü yapmaktır: kodun hangi bölgelere ait olabileceğini bilen bir tablo tutun ve şehir ile kodu bu tablo üzerinden karşılaştırın. Böyle bir tablo her ülke için tam değildir, ama en sık kullanılan ülkelerde kayıtların büyük bölümünü yakalar.

Testlerde ise bu uyuşmazlığı bilerek üretmek gerekir. Sistem, şehir ve kodu tutarsız bir adres aldığında ne yapacak? Kaydı reddedecek mi, yalnızca uyarı mı gösterecek, yoksa sessizce kabul mü edecek? Bu yolun en az bir testle kapsanması, üretimde çıkacak bir hatayı önler.

Geliştiriciler için: ülkeye göre kural seçmek

Posta kodu doğrulamasını tek bir düzenli ifadeyle bütün ülkelere uygulamaya çalışmak, ilk bakışta cazip görünen en büyük hatadır. Bir ülkenin biçimini gevşetmek başka bir ülkeyi tamamen geçersiz kılar; sıkılaştırmak ise geçerli kayıtları reddeder. Bunun yerine ülke koduna göre kural seçen bir yapı kurun ve kuralı olmayan ülkeler için yalnızca genel sınırlar uygulayın.

Kuralları veri olarak tutun, koda gömülü uzun listeler halinde yazmayın. Bir tablo veya yapılandırma dosyası, yeni bir ülke eklendiğinde kodu değiştirmeden ilerlemenizi sağlar; ayrıca kuralların kendisi gözden geçirilebilir bir belge haline gelir.

Alanı zorunlu mu, isteğe bağlı mı sorusunu ülkeye göre yanıtlayın. Bazı ülkelerde kod hiç yoktur ve alanın zorunlu olması kullanıcıyı yanlış veri girmeye iter. Üçüncü bir durumu da unutmayın: bazı ülkelerde kod vardır ama her adreste kullanılmaz. Bu durumda alanı isteğe bağlı yapmak, en az zorunlu yapmak kadar önemlidir.

Son olarak, kural değişikliklerini test edin. Baştaki sıfırlı bir kod, harfli bir kod, ayırıcı içeren bir kod ve hiç kodu olmayan bir ülke; bu dört örnek, doğrulama kodunuzun sınırlarını ortaya koyar. Bu örnekleri sabit test verisi olarak saklamak, ileride yapılacak bir değişikliğin neyi bozduğunu anında gösterir.

Sonraki adımlar

Kendi test setinizi kurarken ülke seçimini rastgele bırakmayın; posta kodu biçimi birbirinden farklı birkaç ülkeyi bilerek seçin. Böylece hem saf rakamlı hem harf karışık hem de kodu olmayan durumlar aynı koşuda sınanmış olur. Hazır kayıtları denemek için adres üretici sayfasında ülkeyi seçip alanların birlikte nasıl dolduğuna bakabilirsiniz; posta kodunun adresin hangi satırına yazıldığını görmek için de uluslararası adres biçimi yazısına göz atın.

Okumaya devam edin

Sahte adres üretici hakkında makaleler