※ 引述《kobe0834k (184.9)》之銘言:
: 最近「晶晶體」很夯
: 不管是政治人物、新聞媒體、網紅Youtuber
: 近期話題很多都圍繞在這上面
: 姑且不論晶晶體的好壞 以及追著這個話題的人的目的性
: (酸酸開戰?求點閱率?)
: 個人是覺得 沒什麼差啦
: 溝通這件事的本質 本來就是互相看得懂、聽得懂就好
: 不需太過雙重標準
: 去斷定、開酸或嘲笑晶晶體愛用者
: 自己卻還是用著「神煩」、「BJ4」、「GG思密答」等等新興網路用語
: 其實基本本質都是一樣的啦
: 不過話雖如此 自己近期在 面對面溝通、Mail、通訊軟體上
: 也開始注意別夾雜兩種語言 讓別人有嘲笑的機會
: 考量全英文可能更加降低溝通效率 所以決定全中文......
好奇試了一下全英文,不要嘲笑我的英文謝謝 QAQ
Sam,
I just checked & reviewed the code for today and have done some refactoring to
your code. Please check the following advices.
Firstly, to be consistent with existing code, please add notes to each attribu
te inside Model, such as functions like mandatory, str_length as well as other
validation rules which apply.
Also, do not verify data with frontend JavaScript, all the data verification s
hould be done with MVC pattern, which is descri
bed in Microsoft's standard. (by following the standard, data verification can
be done automatically under the linking process)
Another thing here, don't forget that Controller's behavior can be decided eas
ily because we have access to Model status from inside of Controller. (you mig
ht want to add a selector for that to avoid repeating the same process again a
nd again)
Second, make sure transaction is used when any involves DB access or modificat
ion to multi-table.
A rollback is also necessary to ensure data integrity when an exception occurs
.
The last thing to add, try to achieve page redirection with "POST" instead of
"GET" to prevent exposing parameters in the url. (see the sample program for d
etails)
EWWW!!!
: 山姆,
: 今天的程式碼我看過了,幫你做了程式碼複習與重構,
: 這裡有幾點建議請你以後注意一下。
: 首先是模型的部份請在各個屬性上加上資料批注,像是「必需」、「字串長度」
: 等等驗證規則,此為專案中的一致做法,別在前端撰寫爪哇腳本去驗證資料
: 用微軟模型、檢視、控制器內建議的標準寫法即可
: 在模型繫結時,會自動判斷驗證通過與否,
: 控制器內可以透過取得「模型狀態」來決定運作流程
: 當然每個控制器都這麼判斷實在沒完沒了
: 所以可以寫在動作篩選裡面
: 第二點,資料庫存取與更動的動作,牽涉到多個資料表的情況請記得使用交易,
: 搭配試、接區塊的使用,有例外狀況就回滾,保證資料的正確性
: 最後,頁面跳轉的方式盡量不要使用「得到」方式然後在網址列丟查詢參數
: 盡量使用「提交」的方式,詳細可參閱範例程式
: 咦?