[閒聊] 越改越倒退的程式

看板Soft_Job (軟體人)作者 (還在想)時間11年前 (2014/12/29 12:03), 11年前編輯推噓28(28035)
留言63則, 34人參與, 最新討論串1/1
我在程式方面還是新手程度 有在接手維護前人的網頁 是一個報名網頁 一開始報名時產生繳費單,要先填一點帳號資料 有一個欄位是密碼,要求是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

12/29 12:08, , 1F
這個需求很合理阿...當然解法很多種啦
12/29 12:08, 1F

12/29 12:09, , 2F
...從「密碼要求4到8個字元」就大有問題了
12/29 12:09, 2F

12/29 12:09, , 3F
需求是對的, 解法不對(主管會准也 Zzz, 我一定打槍)
12/29 12:09, 3F
唔,很糟嗎這個做法? 我是認為會產生這種情況是因為使用者不清楚密碼欄位要求 所以才改成讓使用者看得到自己打了幾個字進去...

12/29 12:10, , 4F
就好像名字欄位只限三個字 然後遇到複姓的還要解
12/29 12:10, 4F
噢,關於欄位設計不是我開的規格,我也沒打算做什麼改變

12/29 12:12, , 5F
你要想像客戶是白痴,有限制最小卻沒限制最大的警示,
12/29 12:12, 5F

12/29 12:12, , 6F
顯然設計本身不周詳啊..或者用個css,小於或大於字數把
12/29 12:12, 6F

12/29 12:12, , 7F
背景改成紅色也算警告...
12/29 12:12, 7F
可是input的maxlength設定是8,永遠也不會偵測到第九個字阿

12/29 12:12, , 8F
只能輸入8個字 使用者卻能輸入10個字 本身就有問題啊
12/29 12:12, 8F
不是啦,使用者根本輸入不了超過8個字的內容 但是對方描述是使用者"覺得"自己打了10個字 實際上畫面上卻只有8個*號

12/29 12:14, , 9F
您該專業的說明為何要限制4~8字的原因
12/29 12:14, 9F

12/29 12:14, , 10F
為何9個字不行? 為何3個字不行? 要有專業的說法。
12/29 12:14, 10F
當初規格不是我設計的這有點難耶XD 而且根本沒有前輩可以問,基本上我都是看程式碼猜為什麼要這樣寫 也沒有規格書可以看

12/29 12:15, , 11F
拿專業去討論,一切才有原則與共識,而非靠感覺。
12/29 12:15, 11F

12/29 12:15, , 12F
靠感覺的話,換個使用者你又改不完程式了。
12/29 12:15, 12F

12/29 12:17, , 13F
程式是解決使用者問題的阿..覺得不好用改就是了
12/29 12:17, 13F

12/29 12:19, , 14F

12/29 12:20, , 15F
自己看UX專業討論吧 結論是限制輸入字數是不對的
12/29 12:20, 15F
原來有這樣的討論阿...

12/29 12:27, , 16F
這個要求很合理啊 也沒有變笨的問題 反而是變聰明了
12/29 12:27, 16F
好吧,看來是我暴露自己的笨了XD ※ 編輯: Peruheru (220.134.18.8), 12/29/2014 12:28:53

12/29 13:02, , 17F
我們的做法也不會讓user的字直接被吃掉,而是出現警告和
12/29 13:02, 17F

12/29 13:03, , 18F
擋住submit,強制讓user key不進應該不是很user friendly
12/29 13:03, 18F

12/29 13:10, , 19F
在submit時跳出警告擋住他
12/29 13:10, 19F

12/29 13:16, , 20F
像這種跟費用有關,密碼長度可輸入四碼,資安有問題
12/29 13:16, 20F

12/29 13:30, , 21F
本來接受8碼的欄位,如果輸入10碼,使用情境有改變嗎?
12/29 13:30, 21F

12/29 13:31, , 22F
假如使用者不知道末兩碼被刪掉,那會造成什麼問題?
12/29 13:31, 22F

12/29 13:34, , 23F
系統限制絕對不接受超過8碼,但是希望不要少於4碼
12/29 13:34, 23F

12/29 13:55, , 24F
有簽就改摟 沒簽用嘴巴講的聽聽就好了
12/29 13:55, 24F

12/29 14:08, , 25F
擋submit+1
12/29 14:08, 25F

12/29 14:19, , 26F
沒辦法抓第九個字用keydown判斷不就好了嗎...
12/29 14:19, 26F

12/29 14:34, , 27F
看推文的連結吧,這種檢查我是覺得到submit再做都嫌晚了
12/29 14:34, 27F

12/29 14:58, , 28F
我會在keydown時判斷是否已有8個字元提醒 但欄位限制不變
12/29 14:58, 28F

12/29 15:06, , 29F
話說回來密碼這東西不都是丟到後面做hash,限制長度是否
12/29 15:06, 29F

12/29 15:06, , 30F
表示資料庫中存明碼...恐怖喔
12/29 15:06, 30F

12/29 15:14, , 31F
限制長度跟有沒有加密沒關係吧
12/29 15:14, 31F

12/29 15:18, , 32F
單向加密不限制字串長度,不論多長出來hash都是固定長度
12/29 15:18, 32F

12/29 15:18, , 33F
此情況下,限制密碼最大長度顯得非常沒意義
12/29 15:18, 33F

12/29 15:21, , 34F
我會做成取消限制 然後再顯示警告
12/29 15:21, 34F

12/29 16:09, , 35F
這種花不了5分鐘的東西,改就是了,沒必要跟user爭論
12/29 16:09, 35F

12/29 16:33, , 36F
欄位長度跟加密有關係吧@@
12/29 16:33, 36F

12/29 17:18, , 37F
有時候解釋要花30分鐘 改就只要5分鐘 別讓USER不開薰!XD
12/29 17:18, 37F

12/29 17:20, , 38F
ptt的密碼也是只吃8個字元 超過的不算XD
12/29 17:20, 38F

12/29 17:25, , 39F
取消限制+警告 +1
12/29 17:25, 39F

12/29 17:31, , 40F
加個提示目前輸入了幾個字元, 這樣使用者就不會覺得輸入
12/29 17:31, 40F

12/29 17:32, , 41F
10 個字元的密碼了
12/29 17:32, 41F

12/29 17:42, , 42F
心聲:我已經快要受不了維護前人的Code要重寫了....
12/29 17:42, 42F

12/29 18:55, , 43F
你既然都可以判斷最短,多加一個最多的判斷,也不難。
12/29 18:55, 43F

12/29 18:59, , 44F
我覺得這要求也能接受,這屬於使用者體驗,我覺得沒有
12/29 18:59, 44F

12/29 19:01, , 45F
什麼奇怪的地方
12/29 19:01, 45F

12/29 19:41, , 46F
作者知道來這裡問就很聰明嘍
12/29 19:41, 46F

12/29 20:41, , 47F
用JS限沒意見,但是只用JS,後端沒跟著限就不太好
12/29 20:41, 47F

12/29 20:44, , 48F
另外別忘了中文1個字遇到maxlength也會被當成1個字
12/29 20:44, 48F

12/29 20:52, , 49F
取消限制+超過8字的警告就好了 你inputText限8字會造成困擾
12/29 20:52, 49F

12/29 21:00, , 50F
你說的使用者好像就是我..XD 我申請帳號密碼都直接用貼的
12/29 21:00, 50F

12/29 21:01, , 51F
有一次就遇到申請有限制 登入卻沒限制的 試了半天才發現..
12/29 21:01, 51F

12/29 21:08, , 52F
我覺得要求合理 有些人密碼九字習慣了 都不會確認 又沒
12/29 21:08, 52F

12/29 21:08, , 53F
警告訊息 變成密碼少一字元登不進去
12/29 21:08, 53F

12/29 21:11, , 54F
對阿 很多人key密碼只看鍵盤 如果聲音沒開 根本不會知道打了
12/29 21:11, 54F

12/29 21:12, , 55F
幾個字XD
12/29 21:12, 55F

12/29 21:12, , 56F
至於4~8個字 若你只負責前端 就不要理為什麼要4~8了
12/29 21:12, 56F

12/29 21:13, , 57F
搞不好說改成可以超過8個 然後後端的某個深處就爆了XDDD
12/29 21:13, 57F

12/29 21:50, , 58F
兩廳院的註冊系統就這樣阿,註冊只能輸入八碼,但登入時卻
12/29 21:50, 58F

12/29 21:50, , 59F
沒限制,害我一直登不進去
12/29 21:50, 59F

12/29 22:52, , 60F
登入時也取前八個字驗證不就得了
12/29 22:52, 60F

12/29 23:44, , 61F
你說的是PTT的密碼吧
12/29 23:44, 61F

12/30 23:20, , 62F
取消限制+警告 +1
12/30 23:20, 62F

01/02 15:51, , 63F
取消限制就好了啊,用maxlength很容易造成誤會
01/02 15:51, 63F
文章代碼(AID): #1KeD9wom (Soft_Job)
文章代碼(AID): #1KeD9wom (Soft_Job)