愛伊米

程式設計師做一個註冊功能要兩天,是不是技術太差?

程式設計師做一個註冊功能要兩天,是不是技術太差?

有個程式設計師說一個註冊的功能都要寫兩天,然後被人嘲笑了,我實在是看不過去,今天以兩張圖來證明,這個程式設計師說得是對的,為什麼註冊這個頁面的功能要寫兩天。

首先註冊要新增手機鍵盤,點選空格鍵盤自動彈出這是一個操作,另外輸入手機號的時候,需要判斷輸入的位數是否正確,格式只能輸入數字,判斷格式是否正確,另外還需要獲取資料庫判斷這個手機號有沒有註冊過,這個手機號輸入進去之後先判斷每一個條件都滿足,不滿足要彈出對應的錯誤提示,滿足條件之後,點選獲取,獲取簡訊需要對接第三方介面,大平臺的簡訊介面都比較好對接,在這之前還的先去簡訊平臺註冊並認證好賬號,大部分需要加入白名單,現在的IP稽核比較嚴格。

好了,咱們手機號驗證碼拿到了對吧,輸入密碼了,輸入密碼的時候有些還需要加入判斷,是否全部字母,或者是字母+數字的格式。

現在每一個軟體都需要判斷是否有確認使用者協議,勾選才可以註冊,咱們點選註冊,點選註冊的時候,需要判斷以上的收到的驗證碼和輸入的是否一致,會不會有變化,驗證碼為空?過期?正確?如果滿足以上所有條件都正確才可以確認註冊完畢,自動登陸app。

程式設計師做一個註冊功能要兩天,是不是技術太差?

除此之外,後端還要寫三天,比如角色載入、許可權預處理、登陸歷史、異地登陸提醒、多終端處理、黑名單,同意攔截器,登陸限流等等,另外手機號簡訊註冊還需要接入第三方簡訊介面,需要確保一人一碼不能重複,另外還要考慮簡訊轟炸機的介面防範,驗證碼的安全等級。

我認為這個註冊功能是最考驗初級程式設計師的,需要極強的思維邏輯和軟體開發經驗,如果不是我這樣清晰的寫出來,我感覺很多都會漏掉判斷。

找回密碼其實跟註冊也有一些類似,大家可以看圖,同樣的是需要寫多種判斷的。

看到這裡,是不是有一個認知了?我希望這個簡單的科普能讓大家對程式設計師更多一點理解!

當然,有些朋友會說,這些功能都是元件做好的,直接用就可以了呀,那我們現在討論的是在開發功能的情況下去如何實現,同樣的將開發這個功能聯想到其他功能上也是一個道理,難道每一個功能都有元件?那你猜猜,元件又是從哪來的呢?