JavaRush /Java Blog /Random-TW /Java 開發人員在專案中的典型任務

Java 開發人員在專案中的典型任務

在 Random-TW 群組發布
Java 開發人員的典型職責是什麼?畢竟,您需要了解自己的目標以及最終要做什麼,對吧?今天我想談談 Java 開發人員執行的十項主要任務。Java 開發人員在專案中的典型任務 - 1但首先,讓我們先熟悉一下 Jira 這樣的工具。或者,如果您已經熟悉的話,讓我們回顧一下。 Jira是一個使用者互動工具,儘管在某些情況下它也用於專案管理。換句話說,專案開發被分解為該工具中描述的小任務。這些任務被分配(分配)給開發人員,開發人員將負責其實施。例如,我們所說的任務是指添加一些功能。隨著進展的進展,開發人員和其他專家會添加關於誰做了什麼以及他們花了多少時間的評論 - 他們追蹤時間。這樣做是為了追蹤所花費的時間:花了多少以及花在什麼上。理想情況下,每天執行一次:在晚上離開之前,您可以追蹤您在 8 小時內完成的任務。Jira 的功能比上面描述的要廣泛得多,但這對於初步理解來說已經足夠了。那麼,Java 開發人員的職責是什麼?

1. 開發新的解決方案

在創建和實施某些東西之前,您需要想出它,對吧?正如我所說,這可能就像分配給您的Jira任務一樣簡單,您將致力於開發一個新的解決方案,並在 Jira 中記錄您花費了多少時間以及做什麼。這也可以是小組電話會議的討論:每個人都可以表達自己的意見並提出他們認為最好的方法。這裡我想指出幾點。首先,開發人員職業是一個非常有創意的領域,因為您需要想出獨特的方法來使用標準工具解決問題。通常,一個問題可以有多種不同的解決方案:相應地,一切都取決於開發人員的「創造精神」、累積的知識基礎和經驗。在這裡你可以展示你所有的創造力和天才,但最重要的是不要做得太過分:在這種情況下,程式碼將變得過於複雜且難以閱讀,結果是,在你離開後,沒有人會完全理解它是什麼,並且怎麼運作的。而且您需要從頭開始重寫所有內容。他們可能會記得你。而且不只一次。這些不太可能是溫暖、善意的話。你需要它嗎?Java 開發人員在專案中的典型任務 - 2其次,開發人員必須保持靈活性,即您不應該陷入一種解決方案並對其他解決方案封閉。就像,你只需要這樣做,而無需做其他事情。發生這種情況的原因有很多:例如,您想證明您的觀點,或者您已經開發並實施了您的解決方案,您對此非常依戀,當然,不想承認它不是您的解決方案。最好的。這幾乎會讓你失明。事實上,您需要能夠承認自己的錯誤並始終對新事物持開放態度(「開放思想」),即使您必須刪除您已經編寫了數週且引以為傲的功能。我記得有一次,有人在 Jira 中的時間軌跡決定了一整天的心情,並評論道: “我刪除了我胎死腹中的功能。我哭了”

2. 編寫新功能

這是繼上一個步驟(新功能的實作)之後的一個合乎邏輯的步驟。專案上的所有工作都分為 jira 中的任務,開發人員在工作時會收到這些任務。解決這個問題有不同的方法 - “方法論”,您可以在 JavaRush 上的這篇文章中閱讀更多相關資訊。通常,任務有一個「估計」 ——完成任務所需的預計時間。它可以由您在承擔任務時自己設置,也可以由團隊負責人設置,或者在計劃期間由開發人員一起估計。這個時間很少能被準確猜測,因為許多不同的因素會影響發育。例如,程式設計師對這項技術熟悉還是不熟悉,他的一般經驗是什麼,在開發過程中可能已經出現的各種陷阱等等。因此,如果您在開發功能時沒有在這個截止日期前完成任務,也不會發生什麼不好的事情。這些只是一般估計。但同樣,並非所有項目都有任務估算,對我來說,沒有任務估算會容易得多,尤其是當 PM 不會每天用“估算在哪裡?”這樣的問題來戳你幾下的時候。 ” 因此,您接受一個任務,開發必要的功能,將其上傳到GIT中的公共分支,並在 jira 中將任務的狀態更改為“準備審查”,即準備好查看(檢查)並祈禱它不會連同修改意見一起回傳給您。

3. 編寫功能測試

檢查您程式碼的人(審閱者)喜歡您開發的功能,但他有一個問題:它的測試在哪裡?然後他將任務回傳給您進行修改。測試是任何 Java 應用程式的重要組成部分。透過運行它們,您可以立即發現應用程式工作不正確的地方。例如,開發人員對系統的一個部分進行了一些更改,這導致了另一部分的行為發生變化,而開發人員在開發過程中沒有註意到這一點。透過運行測試,他將能夠看到失敗的(那些無法正常工作的)測試。這將告訴他系統的另一部分出現了問題。因此,他不會將重大更改上傳到伺服器,而是會繼續完善他的解決方案。是的,當然,很少有開發人員喜歡測試,但不可否認它們為應用程式帶來的好處。通常,客戶會自行指定要遵守的測試覆蓋率等級(例如 80%)。Java 開發人員在專案中的典型任務 - 3因此,您需要了解不同類型的測試並能夠編寫它們。Java開發人員主要編寫單元測試和整合測試,而AQA(自動化測試人員)則處理更廣泛的(端到端)測試。您可以在我的評論中閱讀有關他們和其他 IT 專業代表的更多資訊。

4. 尋找並修復錯誤

這對 Java 開發人員來說也是一個非常常見且頻繁的任務。QA和AQA的主要任務是捕捉bug。也就是說,他們尋找程序行為不正確的地方,在 Jira 中創建問題並將其歸咎於某人。例如,團隊負責人根據他們的負載和對系統這部分的熟悉程度來決定將其分配給哪個開發人員。此後,開發人員搜尋錯誤,在偵錯器中花費數小時,使用 QA 專家對問題的描述來重複錯誤發生的情況。接下來,開發人員發現錯誤,修復它,並將其發送以供審核。好吧,開發人員可能無法重現該錯誤,他將任務返回給 QA 專家並附上評論。似乎不需要那麼長時間就能找到並修復該錯誤,但還是有一些細微差別。一切主要取決於開發人員對這段程式碼的熟悉程度、經驗以及對理論問題的了解。有時一個 bug 可以在 20 分鐘內找到並修復,有時可能需要三天。因此,這種類型的任務特別難以提前評估,除非開發人員在閱讀描述後立即了解出了什麼問題、在哪裡以及出了什麼問題。這樣的話,他就能或多或少準確地猜出時間了。

5. 程式碼審查

上面提到,任務完成後,需要送去審核,如果通過了,就進入通用線程,如果沒有通過,就會返回給開發者,並附上需要審核的意見。已更正。很明顯,這一切都不是由某些更高權力機構檢查的,而是由其他開發人員檢查的。但並不是所有的開發人員都可以成為評審員,只有最有經驗的開發人員才能成為評審員,他們有實務經驗,能夠區分好程式碼和壞程式碼。Java 開發人員在專案中的典型任務 - 4程式碼審查通常使用輔助工具完成,例如Crucible。審閱者審閱程式碼,並在必要時在某些行下留下註解。評論也可以有多種類型。例如,關鍵的,如果不進行糾正,審閱者將無法通過程式碼,而其他的則更可能只是對所選方法的評論,開發人員可以聽取、記錄或忽略。團隊可以創建自己的審查程序和規則,就什麼值得關注、什麼不值得關注、應該在什麼時間範圍內進行程式碼審查等達成一致。要進行審查,僅靠經驗是不夠的:你還需要在技術方向上進行大量開發,閱讀各種書籍(例如《Clean Code》)。如果您對根據 Google 進行程式碼審查的細微差別感興趣,我建議您閱讀這篇文章

6. 程式碼分析

由於該專案是由幾個想法不同的人同時編寫的,因此他們的程式碼和方法會有所不同。而隨著時間的推移,一切都會逐漸變成糊狀。為了改進程式碼,有時您會建立任務來分析(可能是特定模組或整個應用程式),以尋找缺陷並標記它們,然後根據這些註釋建立重構任務。該分析還有助於解決某些更簡單的快捷方式從開發之初不可見但現在可以看到的情況。例如,相同的邏輯經常在某些方法中重複,因此,可以將其移至單獨的方法中並重複使用多次。好吧,要么某些類別變得非常臃腫,要么某些程式碼變得難以維護或過時,或者......分析任務有助於提高程式碼和應用程式的品質。儘管在我看來,分析大量程式碼可能是一項無聊的任務。Java 開發人員在專案中的典型任務 - 5

7. 程式碼重構

分析的下一部分是程式碼重構。它可能已經過時、不再需要、寫得不好、難以閱讀等等。您應該始終追求完美(儘管它不存在)和最新的程式碼,刪除所有不必要的內容,因為這只會讓您感到困惑並阻止您看到功能的本質。不用說,您不太可能在專案開始時看到這些任務:它們僅在開發的後期階段發生,此時應用程式已被完善並趨於完美。Java 開發人員在專案中的典型任務 - 6在這裡,可能應該向同事諮詢他們將如何做到這一點以及他們看到的陷阱。此類任務的本質類似於新功能的開發。例如,您收到一項編輯某些功能而不更改其行為的任務。為此,您需要刪除舊的,編寫自己的並檢查測試。如果您正確地完成了所有操作,而不對測試進行更改,它們應該像以前一樣工作。程式碼中的所有內容都解決後,我們將其發送給審核並去喝咖啡))

8. 編寫文檔

想像一下,您是某個已經開發了很長時間的專案的新開發人員。您需要熟悉它或執行一些特定的任務,例如捕獲錯誤。您將如何引導該項目?每五分鐘拉一次你的團隊成員?如果他們很忙或在週末,那又怎樣?這就是為什麼文件存在的原因,以便不熟悉功能的人可以進入,找到正確的頁面并快速找出他感興趣的應用程式部分的用途。但也必須有人填寫文檔 ^^ 如果專案有開發人員必須支援的文檔,那麼在實現新功能時,他們會對其進行描述,並透過各種更改和重構來更新文檔。當聘請一名單獨的專家(技術作家)來編寫、支援和控製文件時,也可能發生這種情況。如果有這樣的專家,那麼普通開發人員的生活就會變得輕鬆一些。

九、參加各類集會

開發人員花費大量時間進行各種會議、談判和規劃。最簡單的例子就是「每日會議」(daily Meetings),你需要告訴自己昨天做了什麼以及今天要做什麼。此外,您需要一對一的通話,例如與 QA 專家進行通話,以便他可以展示/解釋重現錯誤的細微差別,或與業務分析師或組織討論細微差別和要求。與 PM 的問題。因此,即使開發人員可能是個喜歡獨處的內向者,他仍然必須能夠與其他人找到共同語言(嗯,至少有一點)。Java 開發人員在專案中的典型任務 - 7開發人員的等級越高,他需要花在溝通上的時間就越多,而編寫程式碼的時間就越少。開發團隊領導者甚至可以將一半甚至更多的工作時間花在對話和會議上,並減少編寫程式碼的次數(這可能會導致失去一點控制力)。但如果你也是一個喜歡說話的人,你很容易從團隊領導的位置發展到管理端,完全忘記程式碼,整天與各個團隊、客戶和其他經理溝通。

10. 進行/通過面試

如果您在外包或外包公司工作,當您需要「推銷」給客戶時,您將需要進行頻繁的外部面試(然後您可以接受客戶方面的人員面試),以及內部面試,以了解更多資訊。提高您在公司內的等級。我認為這是一個發展的好因素,因為由於頻繁的面試,你的知識應該始終處於成型狀態:你不會生疏和放鬆,因為如果你在IT領域放鬆,你就可以完全飛出領域。當你成為更有經驗的開發人員時,你將能夠拜訪對方:不是透過,而是進行訪談。相信我,如果你從這個角度來看,你會感到非常驚訝,因為面試可能比通過更可怕。您需要有自己的面試策略、問題清單,並有時間在一小時內就所有必要的主題提出問題。之後,你有責任提供回饋,因為依靠它,一個人可能會也可能不會收到這樣期待已久的優惠或促銷。好吧,反之亦然:你可能會錯過一個坦率地說很弱的候選人,而他並不適合擔任一個職位,然後你可能會被問到:你怎麼會錯過他擁有如此豐富的知識水平?因此,在面試時,請記住,你對面的人也正在經歷困難,他也可能正在承受壓力。 任何面試對於候選人和麵試官來說都是有壓力的。Java 開發人員在專案中的典型任務 - 8或許我們就到此為止。感謝大家讀完:喜歡並學習Java^^
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION