搜尋
首頁Javajava教程分享我自己在公司發展的一些經歷

 也不知道這個標題中的原則一詞用的對不對,我姑且叫他原則吧。對於寫程式的我們來說,其實我後面會叫他規範,但是想了想,對於其他方面來說,又或許是原則,好啦,不糾結,直接進入正題。

 來新公司一個多月了,從我剛到公司那天剛好是一個迭代的開始,直到昨天,後台版本已經同步到公網,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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JVM性能與其他語言JVM性能與其他語言May 14, 2025 am 12:16 AM

JVM'SperformanceIsCompetitiveWithOtherRuntimes,operingabalanceOfspeed,安全性和生產性。 1)JVMUSESJITCOMPILATIONFORDYNAMICOPTIMIZAIZATIONS.2)c提供NativePernativePerformanceButlanceButlactsjvm'ssafetyFeatures.3)

Java平台獨立性:使用示例Java平台獨立性:使用示例May 14, 2025 am 12:14 AM

JavaachievesPlatFormIndependencEthroughTheJavavIrtualMachine(JVM),允許CodeTorunonAnyPlatFormWithAjvm.1)codeisscompiledIntobytecode,notmachine-specificodificcode.2)bytecodeisisteredbytheybytheybytheybythejvm,enablingcross-platerssectectectectectross-eenablingcrossectectectectectection.2)

JVM架構:深入研究Java虛擬機JVM架構:深入研究Java虛擬機May 14, 2025 am 12:12 AM

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

JVM:JVM與操作系統有關嗎?JVM:JVM與操作系統有關嗎?May 14, 2025 am 12:11 AM

JVMhasacloserelationshipwiththeOSasittranslatesJavabytecodeintomachine-specificinstructions,managesmemory,andhandlesgarbagecollection.ThisrelationshipallowsJavatorunonvariousOSenvironments,butitalsopresentschallengeslikedifferentJVMbehaviorsandOS-spe

Java:寫一次,在任何地方跑步(WORA) - 深入了解平台獨立性Java:寫一次,在任何地方跑步(WORA) - 深入了解平台獨立性May 14, 2025 am 12:05 AM

Java實現“一次編寫,到處運行”通過編譯成字節碼並在Java虛擬機(JVM)上運行。 1)編寫Java代碼並編譯成字節碼。 2)字節碼在任何安裝了JVM的平台上運行。 3)使用Java原生接口(JNI)處理平台特定功能。儘管存在挑戰,如JVM一致性和平台特定庫的使用,但WORA大大提高了開發效率和部署靈活性。

Java平台獨立性:與不同的操作系統的兼容性Java平台獨立性:與不同的操作系統的兼容性May 13, 2025 am 12:11 AM

JavaachievesPlatFormIndependencethroughTheJavavIrtualMachine(JVM),允許Codetorunondifferentoperatingsystemsswithoutmodification.thejvmcompilesjavacodeintoplatform-interploplatform-interpectentbybyteentbytybyteentbybytecode,whatittheninternterninterpretsandectectececutesoneonthepecificos,atrafficteyos,Afferctinginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginging

什麼功能使Java仍然強大什麼功能使Java仍然強大May 13, 2025 am 12:05 AM

JavaispoperfulduetoitsplatFormitiondence,對象與偏見,RichstandardLibrary,PerformanceCapabilities和StrongsecurityFeatures.1)Platform-dimplighandependectionceallowsenceallowsenceallowsenceallowsencationSapplicationStornanyDevicesupportingJava.2)

頂級Java功能:開發人員的綜合指南頂級Java功能:開發人員的綜合指南May 13, 2025 am 12:04 AM

Java的頂級功能包括:1)面向對象編程,支持多態性,提升代碼的靈活性和可維護性;2)異常處理機制,通過try-catch-finally塊提高代碼的魯棒性;3)垃圾回收,簡化內存管理;4)泛型,增強類型安全性;5)ambda表達式和函數式編程,使代碼更簡潔和表達性強;6)豐富的標準庫,提供優化過的數據結構和算法。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器