分享我自己在公司發展的一些經歷
也不知道這個標題中的原則一詞用的對不對,我姑且叫他原則吧。對於寫程式的我們來說,其實我後面會叫他規範,但是想了想,對於其他方面來說,又或許是原則,好啦,不糾結,直接進入正題。
來新公司一個多月了,從我剛到公司那天剛好是一個迭代的開始,直到昨天,後台版本已經同步到公網,APP因為需要審核稍微延遲了點,但是內部測試也正緊鑼密鼓的進行中。剛換了一個環境,對新環境裡的開發模式,程式碼規範,程式碼提交模式等都是新的,感受最深的自然就是程式碼提交的方式。習慣了以前的code review方式,來這裡之後目前是沒有這個強制的機制,所以有所放縱,也正因如此,我自己鬆懈了。
鬆懈的代價有點慘烈,直到版本上線前夕也就是昨天,才真正理解很多事情是需要原則,需要規矩,需要規範的,沒有規矩不成方圓,代碼沒有規範,就不能稱為好的產品,我是Android開發,那自然就是出不了好的APP。先從我的角度說說規範的事。從程式規範來說,尤其是Java程式設計規範,空指針是最容易出現的問題之一,如果後台加了個字段,但是APP版本如果想先對接舊後台對比下前後的功能,此時沒有做過入參判斷,那是什麼結果可想而知,APP崩潰啊。倘若做了判斷,那OK至少從使用者體驗來說,APP沒有出現致命的問題。不過入參判斷只是其中一步,沒有判斷null的前提下,也可以讓他不崩潰,也就是網上也會出的技巧,讓常數作為判斷前提方可。其實寫這段話的時候,看的同學一定也覺得,這麼簡單的事情,還是輕輕鬆鬆的嘛,那很好,說明這個小錯誤我很傻唄。這也是我昨天到家之後,第一個深刻感受,不是你不會或你不懂,而是你沒注意,一個小小的細節引發的血案。
非空判斷,還有陣列的越界異常,這些無論是在Java或c都是很容易出現的問題。記得在以前的專案組裡,還有Java和c的軍規呢,把這些低階錯誤都需要杜絕。杜絕的一個很好的方式就是code review,Google那麼牛的公司都需要做,何況是我們呢。記得剛到杭州公司的時候,同事要我去review,一時間沒反應過來,後來漸漸的熟悉了這一流程,把一些平時容易錯的都列出為review必備條件。網路上看過很多雞湯文,提到很多次的也是review的重要性,多看看別人的程式碼,也是提升能力的方式。 Code review,以前是專案組必備,現在因為沒有強制執行,所以我鬆懈了,程式碼就是新版上線出問題了。其實我也可以推卸責任的,版本上線後台也出了差錯,回滾了3次才弄好,但是還有參數沒有配置,導致配置不對,APP獲取參數不正確。照理來說,APP和後台強相關的情境下,其實我之前是和後台確認過的,但是原因不可抗拒,所以也並不是說後台同事告訴你肯定沒問題,你就得百分之百確信,這也是一種自我判斷的能力,需要嚴格遵守自己內心的程式規範原則,無論何時何處,都需要做好APP的萬全之策,而且確保使用者體驗。
第一次參與新公司的版本上線,客戶端就是遇到了入參未進行非空判斷,未進行數組長度的判斷引起的崩潰,實在是心有愧疚,其實這個以前都是必備的操作,這次完全是因為我沒有嚴格遵守導致的問題,還好只是預上線,在內部消化了問題。後台的問題我不大清楚,但是就知道回滾了幾次,好在可控範圍之內,有驚無險。據我所知,後台的問題大部分還是因為配置未同步、程式碼未同步到線上。忽然發現了一個共通的問題,我遇到的版本上線當天,開發都是嚴陣以待,總會出現大的小的問題,不是部署就是APP忽然測出來的問題,不知道大家有沒有經歷過,哈哈。
有過第一次經驗了,我也知道套路了,我還想說說自己另一個感受,做產品是一件很嚴肅的事情。還記得以前和幾個新同事一起開發的時候,因為其中一位的懈怠,組內老大在開早會當著眾人的面說:我們做產品的,再也不會像是學校做畢業設計那樣了,每個人需要有產品意識。從那以後,我便把這句話銘記在心,但是很遺憾,我自己也沒好好做到,尤其是對待寫代碼這件事情上,在自我懈怠中失去了產品的意識。做一款產品,寫程式碼只是其中一件事,還有需求分析,需求評估,甚至流程圖等等,我會把我這三年學到的東西發揮最大的作用,讓產品做的更好。也藉第一次發版本的經歷,告誡自己,丟什麼別丟原則,否則你做的永遠只是APP,而不是產品。
以上是分享我自己在公司發展的一些經歷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

技嘉的主機板怎麼設定鍵盤開機首先,要支援鍵盤開機,一定是PS2鍵盤! !設定步驟如下:第一步:開機按Del或F2進入bios,到bios的Advanced(進階)模式普通主機板預設進入主機板的EZ(簡易)模式,需要按F7切換到進階模式,ROG系列主機板預設進入bios的進階模式(我們用簡體中文來示範)第二步:選擇到-【進階】-【進階電源管理(APM)】第三步:找到選項【由PS2鍵盤喚醒】第四步:這個選項預設是Disabled(關閉)的,下拉之後可以看到三種不同的設定選擇,分別是按【空白鍵】開機、按組

酷睿i73770配什麼顯卡好啊RTX3070是一款非常強大的顯示卡,它具有出色的性能和先進的技術。無論是玩遊戲、渲染圖形或是進行機器學習,RTX3070都能輕鬆應付。它採用了NVIDIA的Ampere架構,擁有5888個CUDA核心和8GB的GDDR6內存,能夠提供流暢的遊戲體驗和高品質的圖形效果。 RTX3070也支援光線追蹤技術,能夠呈現逼真的光影效果。總而言之,RTX3070是一款強大且先進的顯示卡,適合那些追求高效能和高品質的使用者使用。 RTX3070是一款NVIDIA系列的顯示卡。採用第2代NVID

音樂生用什麼平板合適華為的ipad中的12.9吋音響是一款非常好的產品。它配備了四個揚聲器,音效非常出色。而且,它屬於pro系列,相比其他款式稍微更好。整體來說,ipadpro是一款非常優秀的產品。這款mini4手機的喇叭聲音較小,效果一般般。不能用來外放音樂,還是需要依賴耳機來享受音樂。耳機音質好的會有稍微好一些的效果,而便宜的三四十元的耳機就無法滿足要求了。鋼琴電子譜用什麼平板如果您想購買一台10寸以上的iPad,我推薦使用兩款應用程序,分別是Henle和Piascore。 Henle提供

rx5808g安裝什麼驅動好20.5.1和20.4.2WHQL是指軟體或驅動程式的版本號。這些版本號通常用於標識軟體或驅動程式的更新或修復。在電腦領域中,WHQL代表Windows硬體品質實驗室,它是微軟公司用來測試和驗證硬體和驅動程式的合規性和穩定性的機構。因此,20.5.1和20.4.2WHQL表示這些軟體或驅動程式已經通過了微軟的測試和驗證,可以安全地使用在Windows作業系統中。 AMDrx580顯示卡相對穩定驅動20.5.1和20.4.2WHQL是指軟體或驅動程式的版本號。這些版本號通

i34150搭配1G獨顯能玩哪些遊戲能玩lol等小遊戲。 GTX750和GTX750TI是非常適合的顯示卡選擇。如果只是玩一些小遊戲或不玩遊戲,建議使用i34150的整合式顯示卡就可以了。一般來說,顯示卡和處理器的搭配差價並不是很大,所以選擇合理的搭配是很重要的。若需要2G顯存,建議選擇GTX750TI;若只需要1G顯存,直接選擇GTX750即可。 GTX750TI可以看作是GTX750的增強版本,具有超頻功能。 i34150可以搭配什麼顯示卡依需求,如果你打算玩單機遊戲,建議你考慮更換顯示卡。你可以選擇

在使用微軟公司開發的Windows10作業系統過程中,不少用戶對於其中名為Cortana的全新技術感到好奇和疑惑,Cortana在中文語境中的正式稱呼為“小娜”,實際上是Windows10系統內置的一款人工智慧(AIassistant)服務程式cortana小娜常見問題及解決方法怎麼開啟小娜沒反應解決步驟不支援中國解決方法搜尋框放到cortana裡的方法cortana是什麼軟體答:"Cortana小娜"是由微軟公司精心打造的一款雲端平台個人智慧助手,具備登陸與非登陸兩種使用模式。當您處於登入狀

C庫記憶體分配函數void*calloc(size_tnitems,size_tsize)分配所要求的記憶體並傳回指向它的指標。 malloc和calloc的差別在於malloc不設定記憶體為零,而calloc將分配的記憶體設為零。記憶體分配函數記憶體可以透過兩種方式分配,如下所述-編譯時分配記憶體後,執行期間不能更改。就會出現記憶體不足或浪費的問題。解決方案是動態創建內存,即在程式執行過程中根據用戶的要求創建內存。標準用於動態記憶體管理的函式庫函數如下:-malloc()calloc()realloc()free

隨著PHP在Web開發中的重要性不斷提高,PHP函數庫設計也成為了開發中的關鍵問題之一。好的函數庫不僅可以提高開發效率,還能確保程式碼的品質和可維護性。因此,設計函數庫需要遵循一些基本原則和標準。一、可重複使用性好的函數庫應該是可重複使用的,可以在不同的項目中使用。因此,函數應該是抽象的、通用的,不能和特定的項目或場景捆綁在一起。二、易用性函數庫應該易於使用,傳遞參數
