您如何與其他人合作?
處理其他人創建的代碼是開發人員的基本技能。給它一年,其他人的代碼甚至可能是您自己的。
>今天,我將研究如何處理他人代碼,有效地閱讀舊版代碼的一些最佳方法。這不是一個容易的話題。
為了使過程更容易,我在以下領域中構建了我的方法:
- 互動
- 觀察
- >運行測試
- >修復專為新移民設計的錯誤
- 查找可用資源
- 使用良好的IDE
- 閱讀書籍和博客
- 有助於文檔
- 是體貼
- 讓我們開始。
- 了解他人的代碼是開發人員的基本技能。為了促進此過程,開發人員應與領先開發人員和其他團隊成員進行互動,觀察並熟悉代碼庫,運行測試並修復為新移民設計的錯誤。
- 開發人員應使用可用資源,包括郵件列表檔案,項目文檔和版本控制歷史記錄。良好的IDE也可以有益於理解和與他人的代碼合作。 >
- >通過書籍,博客和其他資源向他人學習,可以幫助開發人員避免常見錯誤並提高他們的技能。為文檔做出貢獻也可能是一種寶貴的學習經驗。 >在與他人的代碼合作時必須體貼。了解不同的開發人員可能採用不同的方法和技能水平可以促進一個更具尊重和富有成效的工作環境。
- 互動
- 誰是主要開發人員?他們在哪裡?它們可以直接在您的辦公室提供嗎?如果是這樣,請與他們交談或發送電子郵件。這些人應該是有關項目的最佳知識來源。
您是遠程工人還是自由職業者?該項目或公司有哪些溝通渠道? IRC,Slack,Twitter,Email,Trello還是其他其他開發人員?
確保您在哪裡。在Zend Framework 2上經常提出的批評是沒有積極的社區。事實並非如此,因為IRC頻道每天都在活動。因此,請確保您是開發商和其他團隊成員所在的地方。
觀察
>首次開始項目時,請輕鬆自己。不要期望從一開始就知道一切。估計值有所不同,但是我聽說過三周到三個月的日常工作,然後開發人員才能真正將其視為使用該代碼庫的生產力。
有些人有一個誤導的看法,您可以以某種方式跳入並立即發揮作用。也許他們看過太多好萊塢電影,例如劍魚。
>代碼庫需要一些時間來學習,因為它們用,>,>信念和
的所有開發人員的方法以下是5種開始的好方法:
- 花時間踏入所有內容
- 問問題
- >設置測試安裝
- 嘗試使用測試安裝
- >仔細閱讀代碼註釋和相關文檔
>不要對自己感到艱難,讓自己有一個良好開端的機會。一段時間後,您將開始更好地了解該應用程序如何組合在一起。
在這一點上,通過詢問其他開發人員和高級開發人員的問題開始更快地移動。通過代碼庫,您將構建問題列表。
>抽出時間向其他開發人員詢問您的問題和查詢的答案。不要害羞,跳進去獲取所需的答案和輸入。
>運行測試

任何好的代碼庫都應進行測試。如果不是,那不是一個好兆頭。它不一定是陰險的 - 它可能只是一個開發人員或開發團隊,他們從未實施過測試 - 但如果沒有,我會有些擔心。
>如果有測試,請運行它們。他們過去了嗎?我遇到了一個以上的源代碼庫,該代碼庫有一系列測試,似乎沒有人能夠真正運行。他們是否保持最新狀態?
>現在您已經嘗試運行它們,請仔細閱讀它們。如果寫得很好,他們應該描述應用程序的工作原理,預期的工作以及不同的組件如何融合在一起。確保您花時間去做,因為它可能會很有見地。
>>修復專為新移民設計的錯誤
>啟動的另一種簡單方法是將針對新移民或更多初級開發人員的錯誤修復該項目。兩個好的示例為joind.in and owncloud,這是您可以在下面的屏幕截圖中看到的後者的錯誤跟踪器。

>您可以看到這些門票已被清楚地標記。進行通讀並參與其中。這些錯誤不會是技術性的,但是您可以簡化該項目,從而建立您的信心和知識。
>雖然榮耀和技術複雜性可能對自我很有幫助,但是當事情無法正常工作或花費太長時間時,他們並不會為您的驕傲和熱情做任何幫助。從小開始,然後輕鬆您的方式。
查找可用資源
>在接管代碼庫時或進入現有團隊時,您可以做的最好的事情之一就是將盡可能多的資源聚集在一起。不確定要尋找什麼?這是一些讓您入門的想法:
- 您是否可以訪問郵件列表檔案?
- >是否有項目或公司Wiki?
- >已編譯了哪些項目文檔?
- 您是否閱讀了版本控制歷史記錄? 有貢獻者書面有意義的提交消息,
- 始終 使用良好的IDE
好的值得在黃金中眾所周知的體重。無論您是
ruby
python ,go,> java> java ,
是否有任何代碼文檔?如果是這樣,您的IDE應該能夠在檢查代碼時使用它。接下來,使用逐步調試器,例如XHProf,Xdebug或Zend Debugger,並運行應用程序,查看其工作原理。
>它做什麼?它會創建和使用哪些數據結構?它是否不必要地重複代碼塊?遠遠超過我在這裡所涵蓋的範圍,但是請使用IDE在瀏覽代碼時提供的功能,以使您的生活更輕鬆。
>
閱讀和學習這對我個人來說是一個突出的。我們學到的越多,我們就越能成長,因此 - 這樣做。我們不是第一個踩踏道路的人。許多許多人都在我們面前,犯了很多我們可能犯的同樣的錯誤。
>節省自己的時間,並通過向他們學習來為他們的艱苦學習經歷做一些公正。因此,許多更好的開發人員也是作者和博客作者。
>我個人的最愛之一是馬丁·福勒(Martin Fowler),他也恰好出版了一本關於重構主題的精彩書籍。還有其他出色的書籍,例如設計模式,以及諸如sourcemaking.com之類的網站。
>幫自己一個忙,並繼續投資於這樣的資源。這並不總是那麼容易,但是可能會很有意義。
>
有助於文檔
這是我做不夠的事情。成為扶手椅評論家很容易,坐在場邊並批評代碼庫,框架或其他類型的軟件項目。而不是這樣做,而是加入並參與其中。
文檔不適合失敗的程序員,設計師或非技術人員。一些最大的項目積極地表明,最好的起點是文檔。
>最突出的項目之一是Linux內核。有什麼比記錄一些更好的學習方法?畢竟,如果您真正知道它,那麼您才能記錄下來。
>因此,如果它是一個開源項目,請進入,了解它,閱讀代碼,在進行時做筆記,然後為文檔做出貢獻。如果是內部應用程序,請第一個開始記錄;即使除了你自己,別無他物。
也許沒有任何文件要說;一個真正可怕的地方。但是每個項目都必須從某個地方開始。通過源代碼工作時,請寫下您所知道的內容。
我認識的一些最好的開發人員,例如可愛的Lorna Jane,開始以這種方式寫博客。她博客以保留自己正在學習的內容的記錄,後來轉到最受歡迎的PHP博客之一。是體貼
>最後一點:對您正在審查和構建工作的開發人員進行體貼。您不知道他們在職業和教育中的位置,或者他們對他們的限制有什麼限制,當他們編寫您現在要加快的代碼時。
>更重要的是,您在什麼技能水平上?當我們年輕,更新且經驗不足時,對他人的判斷很容易。
>我們認為我們知道這一切,並且我們的期望,概念和方法是真正和正確的方法。但是真的是這樣嗎?我喜歡相信,隨著我們的成熟和增長的年齡,我們也變得更加明智,變得更加接受了存在的各種各樣的軟件開發方法。
>我們可能不需要同意它們,但它們不一定是錯誤的。他們可能需要教我們很多,這可以幫助我們成長。因此,請務必考慮其他人及其所在的位置。不要成為令人討厭的新人,指著手指和責備。畢竟,這對您沒有幫助,尤其是您。
>總結
>您可以做更多的負載,以使與他人的代碼合作一個更易於管理的過程。
您使用哪些方法,提示,技巧和工具?經常詢問有關與他人代碼合作的問題(常見問題解答)
>理解別人代碼的一些策略是什麼?但是,您可以使用幾種策略來更輕鬆。首先,嘗試通過閱讀任何可用文檔或評論來獲得對代碼的高級理解。接下來,將代碼分解為較小的可管理部分,並嘗試單獨理解每個部分。使用調試器也可能會有所幫助,因為它允許您逐步瀏覽代碼並查看其行為方式。最後,如果您陷入困境,請隨時向原始作者或其他團隊成員尋求幫助。 什麼是配對編程,如何幫助理解代碼?是兩名程序員在一個工作站一起工作的技術。一個是驅動程序,寫代碼,另一個,觀察者或導航器,在輸入時審查了每行代碼。兩個程序員經常切換角色。這種方法促進了對代碼的更好理解,因為兩個程序員都可以實時討論並澄清任何疑問或問題。這也有助於儘早捕獲錯誤,因為觀察者可以發現駕駛員可能錯過的錯誤。>
>我如何組織代碼以使其他人更容易理解?清晰邏輯的方式可以極大地幫助他人理解它。一些組織代碼的策略包括將相關功能分組在一起,使用有意義的變量和功能名稱,並提供註釋來解釋代碼的複雜部分。遵循已建立的編碼慣例和標準也很重要,因為它們提供了一致的結構,使代碼更易於閱讀和理解。>
>代碼審閱者在編程團隊中的作用是什麼? 🎜>代碼審閱者負責審查其他團隊成員編寫的代碼,以確保其符合團隊的質量標準。這包括檢查錯誤,確保代碼遵循已建立的編碼約定,並驗證其實現其預期功能。代碼審稿人還向原始作者提供反饋,這可以幫助他們提高編碼技巧。 我如何提高與他人代碼合作的技能?是一種可以通過實踐來提高的技能。首先閱讀和理解他人編寫的代碼,然後嘗試確定他們使用的技術和策略。參加代碼評論和配對編程會議,因為這些會議提供了向他人學習並獲得不同觀點的機會。此外,研究編碼標準和最佳實踐也可以幫助提高您的技能。>哪些工具可以幫助我理解和使用其他人的代碼?
>有幾種工具可以幫助您理解和使用其他人的代碼。集成開發環境(IDE)通常具有可以幫助您瀏覽代碼並了解其結構的功能。調試者允許您逐步瀏覽代碼,看看其行為方式。代碼審核工具可以幫助您識別問題並提供反饋。此外,文檔工具可以幫助您了解代碼的目的和功能。
>我如何處理記錄較差的代碼?
>處理文檔較差的代碼可能會具有挑戰性,但是您有一些策略。可以使用。首先嘗試了解代碼的整體結構和功能。使用調試器逐步瀏覽代碼,看看其行為方式。如果可能的話,請原始作者或其他團隊成員澄清。隨著您的理解,請考慮添加自己的評論或文檔以幫助未來的開發人員。 >
>在不破壞現有代碼的情況下,我如何為代碼庫做出貢獻?>
尊重現有代碼和編碼約定。首先了解代碼庫及其結構。確保您的更改與現有代碼保持一致,並且不要破壞其功能。徹底測試您的更改,以確保他們不會引入新的錯誤。最後,與您的團隊進行溝通並參與代碼審查,以確保您的更改被理解和接受。>
>在團隊中編碼標準的重要性是什麼?因為它們確保整個代碼庫的一致性和可讀性。他們定義了應該如何編寫和組織代碼,這使團隊成員更容易理解和使用彼此的代碼。編碼標準還有助於維持代碼的質量,因為它們通常包括錯誤處理,安全性和性能的準則。>
>我如何有效地與我的團隊有關代碼?與代碼庫上的團隊合作時,通信是關鍵。討論代碼時要清楚和簡潔,並使用適當的技術術語。參與代碼審查並提供建設性的反饋。如果您很難理解一件代碼,請隨時要求澄清。另外,要接受反饋並使用它來提高您的編碼技巧。以上是您如何與其他人合作?的詳細內容。更多資訊請關注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)

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

定制电信软件开发无疑是一项相当大的投资。然而,从长远来看,您可能会意识到,这样的项目可能更具成本效益,因为它可以像市场上任何现成的解决方案一样提高您的生产力。了解构建定制电信系统的最重要优势。 获取您所需的确切功能 您可以购买的现成电信软件有两个潜在问题。有些缺乏可能显著改善您工作效率的有用功能。有时您可以通过一些外部集成来增强它们,但这并不总是足以使它们变得出色。 其他软件功能过多,使用起来过于复杂。您可能不会使用其中的一些(永远不会!)。大量的功能通常还会增加价格。 基于您的需求

Arm64 架構開源軟件的 CI/CD 難題與解決方案 在 Arm64 架構上部署開源軟件需要一個強大的 CI/CD 環境。然而,Arm64 和傳統 x86 處理器架構的支持水平之間存在差異,Arm64 通常處於劣勢。面向多種架構的基礎設施組件開發人員對工作環境有一定的期望: 一致性:跨平台使用的工具和方法保持一致,避免因採用不太流行的平台而需要改變開發流程。 性能:平台和支持機制具有良好的性能,確保在支持多個平台時部署方案不會因速度不足而受影響。 測試覆蓋率:對所有平台同時進行效率、合規性和
