Girişi ne zaman kesmelisiniz?


11

Akademi dışındaki endüstri hakkında tonlarca öğreniyorum.

Bugün düşündüğüm bir şey girdi düzeltmektir.

Madalyonun bir tarafında, kullanıcı / uygulayıcısının sürekli olarak beklenmedik sonuçlar almasını istemiyorum çünkü girdileri çok fazla boşluğa sahipti, bu yüzden her işlev çağrısından sonra sürekli olarak kullanıcı girişini kesmem gerekiyor.

Ama aynı zamanda burada ofiste iç kullanım için bir API kütüphanesi oluşturuyorsanız , izleyen / önde gelen boşluklar sonuçlar için çok önemli olabilir.

O zaman boşlukların önemli olup olmayacağından emin olmadığım durumlar vardı.

Benim için en büyük sorun kendimi sürekli kodumun her yerinde .trim () çağırıyor bulmak olduğunu.

Herkes herhangi bir ipucu / başparmak kuralları veya sadece belirli durumları ele almak için düşünceler var mı?


1
Burada "API" derken, bir kütüphane yazmaktan mı yoksa bir çeşit dahili web hizmetinden mi bahsediyorsunuz? Bu önemli bir detay.
Sean McSomething

Aslında inşa ettiğim bir kütüphane olurdu (teşekkürler)
TacticalMin

Bu kendiliğinden yanıt veriyor gibi görünüyor ... beyaz boşluğun gerekli olmadığından emin değilseniz, muhtemelen metni kırpmamalısınız.
GrandmasterB

Yanıtlar:


13

Bir API'da boşlukları asla keyfi olarak kırpmayın.

Boşluğu keyfi olarak kırpmanın tek nedeni bir kullanıcı arayüzü özelliğidir. Kullanıcılar girilen alanların sonunda sık sık boşluk bırakıyor, ancak bunu yaptıklarını göremiyorlar. Bir iletiyi döndürmek oldukça kafa karıştırıcıdır, bu nedenle - bir kullanıcının "A" dışında "A" dışında bir şey ifade etmek için girebileceği nadir durumlar dışında - genellikle işe yaramayan boşluklardan vazgeçebilirsiniz.

Ancak bilgisayarlar yanlışlıkla boşluk eklemez, bir programcı onlara söylediği için boşluk ekler ve API uygulamanızı kırırlarsa geliştiriciye bir hata atmalısınız. Eğer yapmazlarsa, onları kullanmalısınız.

Tabii ki, bu verilerin bir uygulama yoluyla bir insandan gelme olasılığı vardır, ancak bu sizin değil uygulama geliştiricinin meselesidir. Yine, size bir soruna neden olacaklarsa, reddedin; değilse, kabul edin. Onları kesmeyin ve tüketicinizin bunun olacağını bildiğini varsayın.


Cevaplamak için zaman ayırdığınız için teşekkür ederiz. Herkesin ne söylediğini özetlediniz.
TacticalMin

3

Burada yararlı bir ilke YAGNI : "İhtiyacınız olmayacak." Eğer kadar bunu uygulamak etmeyin, aslında gerekir emin olmadığımızı bir özellik için bir fikrim var ne anlama geldiğini, yani vardır emin olması gerekiyor. Daha sonra, ihtiyaç ortaya çıktığında, kod tabanınızda gerçekten gerekli olan yerler de belirgin olmalıdır.


1

Girişin ne için kullanılacağına bağlıdır. Bir arama terimi olarak girilen verilerden beyaz boşluk kesiyorsanız, bunu neden yaptığınızı anlayabilirim. Bir sisteme gelen verilere güvenmemeyi öğrenmek iyi bir alışkanlık, öncelikle SQL Injection düşünüyorum ama başka yönleri de var.

Her zaman girişi kesmeniz gerekmeyebilir, ancak kesinlikle her zaman girişi kontrol etmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.