ABD adres yapısı, küçükten büyüğe ilerleyen sade bir sıralamaya dayanır: kapı numarası, sokak adı, şehir, eyalet ve posta kodu. Bu yazıda bu alanların her birinin ne taşıdığını, daire bilgisinin nereye yazıldığını, eyalet kısaltmalarının neden kendi başına bir tablo olduğunu ve test verisi hazırlarken hangi uç durumları kapsamanız gerektiğini bulacaksınız.
Tipik bir ABD adresi hangi parçalardan oluşur?
Bir Amerikan adresi, birkaç katmandan oluşur ve her katman bir sonrakinin kapsamını daraltır. İlk katman sokak düzeyidir: bir kapı numarası ve ardından sokak adı gelir. İkinci katman, binanın içindeki belirli birimi tanımlar; daire, kat ya da süit numarası burada yer alır. Üçüncü katman şehir ve eyalettir. Son katman ise posta kodudur.
Bu sıralamanın mantığı, teslimatı kolaylaştırmaktır. Taşıyıcı önce sokağı bulur, sonra bina içindeki birime gider; eyalet ve posta kodu ise paketin hangi dağıtım merkezine gideceğini belirler. Alanlar birbirinden bağımsız değildir: aynı sokak adı ülkenin farklı eyaletlerinde bulunabilir, ama şehir ve posta kodu birleştiğinde adres tek bir noktaya işaret eder.
Adres satırı ile şehir satırının ayrı tutulması da bu yüzden önemlidir. Şehir, eyalet ve posta kodunu sokak satırına sıkıştırmak, adres ayrıştıran kodları güvenilmez hale getirir. Yapılandırılmış bir form, bu üç değeri kendi alanlarında toplar ve yalnızca görüntülerken birleştirir.
Daire ve kat numarası nasıl yazılır?
Bir binada birden fazla birim varsa, adrese bir birim göstergesi eklenir. Yaygın kısaltmalar arasında daire, süit ve kat anlamına gelen ifadeler bulunur; bunlar sokak satırının sonuna ya da ayrı bir satıra yazılabilir. Amaç, paketin bina kapısında değil, doğru birimde teslim edilmesini sağlamaktır.
Yazılım açısından iki seçenek vardır: birim bilgisini ikinci adres satırında serbest metin olarak tutmak ya da ayrı bir alan açmak. Serbest metin daha esnektir; çünkü kullanıcılar bu bilgiyi çok farklı biçimlerde yazar. Ayrı alan ise doğrulamayı kolaylaştırır ama gerçek kullanımda her zaman doldurulmadığını da kabul etmek gerekir.
Birim bilgisini ele alırken karşılaştırılan seçenekleri şöyle özetleyebiliriz:
- serbest metin olarak ikinci adres satırı: esnektir, çünkü kullanıcılar bu bilgiyi çok farklı biçimlerde yazar
- ayrı bir alan: doğrulamayı kolaylaştırır, ama gerçek kullanımda her zaman doldurulmaz
- müstakil ev: birim numarası sormak gereksiz bir engeldir ve yanlış veri kaynağıdır
- çok birimli bina: alanı görünür kılmak teslimat oranını artırır
Bu alanın isteğe bağlı olması, çoğu senaryo için doğru karardır. Müstakil bir evde oturan kullanıcıya birim numarası sormak, hem gereksiz bir engel hem de yanlış veri kaynağıdır. Buna karşılık, çok birimli binaların yoğun olduğu yerlerde bu alanı görünür kılmak teslimat oranını artırır. Bu alanın zorunlu mu isteğe bağlı mı olacağı, formun genelinden bağımsız bir karar değildir; ödeme adımındaki adres formu testleri yazısında bu tür kararların nasıl sınandığını ele alıyoruz.
Eyalet kısaltmaları neden ezberden yazılmamalı?
Amerikan eyaletleri için iki harfli resmî kısaltmalar vardır ve bu kısaltmalar yaygın olarak kullanılır. Görünüşte basit olan bu iki harf, uygulamada en çok hata üreten alanlardan biridir. İnsanlar kısaltmayı eksik hatırlar, iki harfin sırasını karıştırır ya da eyalet adını hiç kısaltmadan yazar.
Doğru yaklaşım, kısaltmayı serbest metin olarak kabul etmemektir. Eyalet alanı, sabit bir listeden seçim yapılan bir alan olmalıdır; böylece hem kısaltma standart kalır hem de yazım hataları baştan elenir. Listeyi kendi başınıza uydurmak yerine resmî kaynağı temel almak, ileride ortaya çıkacak uyuşmazlıkları önler.
Bu kuralın bir uzantısı da vardır: eyalet alanı ile posta kodu birlikte doğrulanmalıdır. İki değer ayrı ayrı geçerli olabilir, ama birbirine ait olmayabilir. Bu uyuşmazlık, adres verisinde en sık görülen tutarsızlıktır ve yalnızca biçim denetimiyle yakalanamaz.
Posta kodundaki dört haneli ek ne işe yarar?
Beş haneli posta koduna, isteğe bağlı olarak dört haneli bir ek eklenebilir. Bu ek, kodu sokak düzeyinde daha da daraltır ve teslimatı hızlandırır. Ancak herkes bu eki bilmediği için, formlarda çoğu zaman yalnızca beş hanelik bölüm zorunlu tutulur.
Test verisi hazırlarken bu ayrımı iki ayrı senaryo olarak ele almak gerekir. Sistem beş haneli kodu kabul ediyor mu, dört haneli ekli biçimi de kabul ediyor mu? Ekli biçimde ayırıcı karakter kullanıldığında ayrıştırma doğru çalışıyor mu? Bu soruların cevabı, kullanıcıların girdiği gerçek veri biçimlerini kapsar.
Burada dikkat edilecek bir ayrıntı daha vardır: posta kodunu sayı olarak saklamak. Bu alan rakamlardan oluşsa da aritmetik bir değer taşımaz ve baştaki sıfırlar anlamlıdır. Alanı metin olarak tutmak, hem eki hem de baştaki sıfırı korur.
Askeri ve denizaşırı adresler neden farklıdır?
Amerika Birleşik Devletleri’nin adres sistemi yalnızca elli eyaletten ibaret değildir. Federal bölge, denizaşırı topraklar ve yurt dışında konuşlu askeri birimler için ayrı adres kuralları vardır. Bu adresler, eyalet kısaltması yerine farklı bir kod kullanır ve posta kodu aralıkları da farklıdır.
Bu durumun pratik sonucu şudur: eyalet alanını yalnızca elli değerle sınırlayan bir liste, geçerli bir adresi reddeder. Sistem bu özel durumları desteklemeli mi, yoksa bunları ayrı bir kullanım olarak mı ele almalı? Bu karar, uygulamanın hangi kullanıcı kitlesine hitap ettiğine bağlıdır ama en azından bilinçli verilmelidir.
Bir başka ayrıntı da şehir alanıdır. Bu özel adreslerde şehir adı yerine bir birim adı görünebilir. Şehir alanını yalnızca bilinen şehir adlarıyla karşılaştıran bir doğrulama, bu kayıtları gereksiz yere reddeder. Doğrulamanın katılığı, kullanıcı kitlesinin çeşitliliğiyle dengelenmelidir.
Geliştiriciler için: alan tasarımı ve doğrulama sırası
Eyalet alanını bir tablodan beslemek, tek başına en çok hatayı önleyen karardır. Listeyi kodun içine gömmek yerine veri olarak tutmak, güncellemeyi ve gözden geçirmeyi kolaylaştırır. Listede olmayan bir değer geldiğinde ne yapacağınızı da baştan belirleyin: kaydı reddetmek mi, uyarı verip devam etmek mi?
Posta kodu ile eyaletin uyuşması, ayrı bir kontrol katmanıdır. Bu kontrol her ülke için tam değildir; ama ABD gibi verinin görece düzenli olduğu ülkelerde kayıtların büyük bölümünü yakalar. Bu kontrolü sert bir engel olarak değil, bir uyarı olarak kurmak, gerçek kullanıcıları kaybetmeden veri kalitesini artırır.
Test setinizde en az şu dört örnek bulunsun: daire numarası olmayan sade bir adres, ikinci satırda birim bilgisi taşıyan adres, dört haneli eki olan posta kodu ve eyalet kısaltması posta koduyla uyuşmayan bir kayıt. Son örnek, doğrulama kodunuzun gerçekten çalışıp çalışmadığını gösteren tek örnektir; diğer üçü yalnızca mutlu yolu kapsar.
Sonraki adımlar
ABD adresleriyle çalışırken eyalet listesini ve posta kodu kuralını ayrı ayrı değil, birlikte ele alın; iki alanın uyuşması, veri kalitesinin en hızlı göstergesidir. Bu kuralları canlı olarak denemek için adres üretici sayfasında ülke olarak ABD’yi seçip alanların nasıl dolduğuna bakabilirsiniz. Aynı ayrımı başka ülkelerde de kurmak isterseniz, ülke sayfaları her ülkenin kendi alan düzenini özetler.