1. 程式人生 > >知道自己不要什麼,不管多麼大的誘惑

知道自己不要什麼,不管多麼大的誘惑

  2017年6月底在上海入職,正式開始工作,一年主要圍繞開發一個平臺,現在平臺已經上線(進行後續的優化和新增),下面列出來一些在工作當中的個人收穫和出現的問題,不怕多,一項項來改。

學習到的知識點:1.mybatis和enum的配合開發使用2.springmvc與fastjson的開發使用3.查詢資訊時,使用jstl的<c:url>分頁傳參和PageHelper(分頁外掛的配合使用)4.PageHelper與ssm分頁查詢的配合使用5.layer介面提示外掛.6.decorator裝飾器7.shiro許可權框架8.redis快取9.定時任務schedule和@Async註解(該註解是非同步任務)10.task任務中不要使用mapper,controller層不能使用mapper11.大資料量下的變數使用,使用過後將變數賦為null,便於垃圾回收。12.頁面上例如列表顯示的資訊(從controller中傳過來的資料),使用<c:out>的標籤13.頁面跳轉重新整理,並攜帶查詢引數,不使用ajax的方法,$("#指定工單").submit(),相當於在走路徑查詢一次(原輸入的查詢引數保留,這樣頁面重新整理不會直接回到首頁,回到原查詢頁面).14.資料庫設計時,不要抽離出太多的表.(影響業務場景的使用)15.sql中可以使用 order by case when status=2 then 0 end來使status=2的資料優先排序,(其他數值的隨機)16.重定向頁面時攜帶引數,RedirectAttribute中addAttribute(key,value),會將引數自動拼在url後面17.資料庫sql語句中,預設不區分大小寫問題:
1.關於校驗:前臺校驗必須有,但是後臺校驗也要有,向後臺傳參儘可能使用id然後從資料庫表中查詢,不直接獲取頁面上的文字值(該值從資料庫獲取後寫到頁面上),防止使用者在其他頁面修改後再次提交,獲取指定的提交引數(防止使用者惡意提交).2.編寫工具類時,方法不要寫的太死,靈活可擴充套件。3.關於service中可能出錯的東西,先將try{}catch,在catch中進行處理修改掉錯誤資料4.編寫程式碼時,使用陣列的地方先判斷長度是否夠用,在進行相應位置的取值,多考慮多測試需求5.缺少站在使用者的思維角度,去使用產品,考慮不周全。6.寫程式碼時過於想當然。7.bug率太高.8.寫作技能、溝通技能、系統性思維9.ajax回撥不能使用“中文引數”回撥,js方法中傳值最好使用數值型別,其他的使用this進行傳值(例如:字串),其他型別傳值使用this,獲得相應值可用$(obj).parent().next().next(),一直next()到那個元素的位置進行取值10.js和後臺傳參時最好不要使用連線字元進行連線引數,例如不可使用“_”連線引數進行傳值,傳值使用List陣列和字串陣列
.11.程式碼功能完成之後,反覆推敲、打磨、研究,優化。12.產品上線後,修改資料庫時,增加欄位要考慮原始資料的儲存,不一定非要加上not null約束。13.重構程式碼能力弱.14.資料庫設計時:欄位問題,根據實際需要設定欄位長度,不要冗餘,記錄操作人一般使用true_name(真實名稱或者是操作人id).15.大資料庫表查詢時,將有索引的欄位放在條件查詢的最前面16.資料庫新增索引一個表不要超過三個索引

寫完發現,收穫和問題基本上對半,這一年收穫多,但是挖的坑也多,平常週末的學習時間效率也不是很高,有待改善。記錄一下,一項項來改。