※ 本文為 ott 轉寄自 ptt.cc 更新時間: 2014-12-31 12:46:23
看板 Soft_Job
作者 Peruheru (還在想)
標題 [閒聊] 越改越倒退的程式
時間 Mon Dec 29 12:03:04 2014


我在程式方面還是新手程度
有在接手維護前人的網頁
是一個報名網頁

一開始報名時產生繳費單,要先填一點帳號資料
有一個欄位是密碼,要求是4到8個字元
然後Input設定上限是8個字
再用JS去檢查未滿4個字就提出警告不給送出
欄位旁邊也有紅字提醒文字說明正確密碼格式和長度

送到後端後的事就先不管了


總之之前接到要求
內容是這樣說的

「有使用者填了10碼,卻因為系統自動去掉最後兩碼,而使用者不知道。
  所以希望能在使用者填超過8碼時給予警告。」

我去跟對方解釋說欄位設計本來就不會填入超過8個字
而且旁邊也寫得很清楚了,只能填4到8個字

對方說反正就是收到很多這種抱怨
要求我們非改不可
還說要我們調大欄位輸入限制,或取消限制
然後去偵測第9個字,再顯示警告

我覺得自己很抗拒去做這種修改,感覺程式反而是越修越笨
最後我獨斷的做法是,在欄位旁邊多放上一段提醒文字,顯示目前已輸入文字數
然後把提醒文字弄得更大更顯眼
然後再請示我主管這樣可不可以
主管說OK,我就這樣改上去了

像這種事情,各位會聽從客戶的需求改,還是會跟我一樣有抗拒呢?

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.18.8
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1419825786.A.CB0.html
robler: 這個需求很合理阿...當然解法很多種啦1F 12/29 12:08
superpai: ...從「密碼要求4到8個字元」就大有問題了2F 12/29 12:09
uranusjr: 需求是對的, 解法不對(主管會准也 Zzz, 我一定打槍)3F 12/29 12:09
唔,很糟嗎這個做法?
我是認為會產生這種情況是因為使用者不清楚密碼欄位要求
所以才改成讓使用者看得到自己打了幾個字進去...
superpai: 就好像名字欄位只限三個字 然後遇到複姓的還要解4F 12/29 12:10
噢,關於欄位設計不是我開的規格,我也沒打算做什麼改變
kinanson: 你要想像客戶是白痴,有限制最小卻沒限制最大的警示,5F 12/29 12:12
kinanson: 顯然設計本身不周詳啊..或者用個css,小於或大於字數把
kinanson: 背景改成紅色也算警告...
可是input的maxlength設定是8,永遠也不會偵測到第九個字阿
GoalBased: 只能輸入8個字 使用者卻能輸入10個字 本身就有問題啊8F 12/29 12:12
不是啦,使用者根本輸入不了超過8個字的內容
但是對方描述是使用者"覺得"自己打了10個字
實際上畫面上卻只有8個*號
DrTech: 您該專業的說明為何要限制4~8字的原因9F 12/29 12:14
DrTech: 為何9個字不行? 為何3個字不行? 要有專業的說法。
當初規格不是我設計的這有點難耶XD
而且根本沒有前輩可以問,基本上我都是看程式碼猜為什麼要這樣寫
也沒有規格書可以看
DrTech: 拿專業去討論,一切才有原則與共識,而非靠感覺。11F 12/29 12:15
DrTech: 靠感覺的話,換個使用者你又改不完程式了。
GoalBased: 程式是解決使用者問題的阿..覺得不好用改就是了13F 12/29 12:17
superpai: 自己看UX專業討論吧 結論是限制輸入字數是不對的15F 12/29 12:20
原來有這樣的討論阿...
indexcome: 這個要求很合理啊 也沒有變笨的問題 反而是變聰明了16F 12/29 12:27
好吧,看來是我暴露自己的笨了XD
※ 編輯: Peruheru (220.134.18.8), 12/29/2014 12:28:53
mozzan: 我們的做法也不會讓user的字直接被吃掉,而是出現警告和17F 12/29 13:02
mozzan: 擋住submit,強制讓user key不進應該不是很user friendly
ken1325: 在submit時跳出警告擋住他19F 12/29 13:10
followmeyo: 像這種跟費用有關,密碼長度可輸入四碼,資安有問題20F 12/29 13:16
yauhh: 本來接受8碼的欄位,如果輸入10碼,使用情境有改變嗎?21F 12/29 13:30
yauhh: 假如使用者不知道末兩碼被刪掉,那會造成什麼問題?
yauhh: 系統限制絕對不接受超過8碼,但是希望不要少於4碼
f1234518456: 有簽就改摟 沒簽用嘴巴講的聽聽就好了24F 12/29 13:55
marsyang1: 擋submit+125F 12/29 14:08
aoisama: 沒辦法抓第九個字用keydown判斷不就好了嗎...26F 12/29 14:19
nenpow: 看推文的連結吧,這種檢查我是覺得到submit再做都嫌晚了27F 12/29 14:34
yyc1217: 我會在keydown時判斷是否已有8個字元提醒 但欄位限制不變28F 12/29 14:58
aoisama: 話說回來密碼這東西不都是丟到後面做hash,限制長度是否29F 12/29 15:06
aoisama: 表示資料庫中存明碼...恐怖喔
GoalBased: 限制長度跟有沒有加密沒關係吧31F 12/29 15:14
aoisama: 單向加密不限制字串長度,不論多長出來hash都是固定長度32F 12/29 15:18
aoisama: 此情況下,限制密碼最大長度顯得非常沒意義
onininon: 我會做成取消限制 然後再顯示警告34F 12/29 15:21
felixgugu: 這種花不了5分鐘的東西,改就是了,沒必要跟user爭論35F 12/29 16:09
crossdunk: 欄位長度跟加密有關係吧@@36F 12/29 16:33
pooznn: 有時候解釋要花30分鐘 改就只要5分鐘   別讓USER不開薰!XD37F 12/29 17:18
tw0517tw: ptt的密碼也是只吃8個字元 超過的不算XD38F 12/29 17:20
crossdunk: 取消限制+警告 +139F 12/29 17:25
descent: 加個提示目前輸入了幾個字元, 這樣使用者就不會覺得輸入40F 12/29 17:31
descent: 10 個字元的密碼了
tobedesigner: 心聲:我已經快要受不了維護前人的Code要重寫了....42F 12/29 17:42
linhtc12: 你既然都可以判斷最短,多加一個最多的判斷,也不難。43F 12/29 18:55
linhtc12: 我覺得這要求也能接受,這屬於使用者體驗,我覺得沒有
linhtc12: 什麼奇怪的地方
pakls: 作者知道來這裡問就很聰明嘍46F 12/29 19:41
luciferii: 用JS限沒意見,但是只用JS,後端沒跟著限就不太好47F 12/29 20:41
luciferii: 另外別忘了中文1個字遇到maxlength也會被當成1個字
gmoz: 取消限制+超過8字的警告就好了 你inputText限8字會造成困擾49F 12/29 20:52
Esvent: 你說的使用者好像就是我..XD 我申請帳號密碼都直接用貼的50F 12/29 21:00
Esvent: 有一次就遇到申請有限制 登入卻沒限制的 試了半天才發現..
vi000246: 我覺得要求合理 有些人密碼九字習慣了 都不會確認 又沒52F 12/29 21:08
vi000246: 警告訊息 變成密碼少一字元登不進去
gmoz: 對阿 很多人key密碼只看鍵盤 如果聲音沒開 根本不會知道打了54F 12/29 21:11
gmoz: 幾個字XD
gmoz: 至於4~8個字 若你只負責前端 就不要理為什麼要4~8了
gmoz: 搞不好說改成可以超過8個 然後後端的某個深處就爆了XDDD
bency: 兩廳院的註冊系統就這樣阿,註冊只能輸入八碼,但登入時卻58F 12/29 21:50
bency: 沒限制,害我一直登不進去
CaptainH: 登入時也取前八個字驗證不就得了60F 12/29 22:52
patchiang13: 你說的是PTT的密碼吧61F 12/29 23:44
viper9709: 取消限制+警告 +162F 12/30 23:20

--
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 564 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇