保持開源專案健康執行並減少壓力的 10 件事
本文由碼農網 – 柳橙原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
在2017的頭幾天,我開始研究我最新的開源專案。它的設計和構建,是用來解決我的一個業務問題。該專案被稱為bootparts,它的用途是簡化網站建設的過程。
這不是我第一次進入編碼世界。這些年來,我以不同的方式為不同的專案做出了貢獻。然而,這一次我負責一切事情。這給了我額外的壓力。我不喜歡壓力。但是與其簡單地忽略它,我決定以健康的態度去管理和處理壓力,下面是我怎麼做的方法:
(1)我決定什麼時候開始這個專案
我從開源社群聽到最大的抱怨之一是,人們既期望維護人員夜以繼日地工作。同時人們又對為了修復bug和極端情況下 而長時間的無薪工作行為感到羞愧。這容易造成工作倦怠並且傷害到整個團隊的積極性。
從第一天開始,我決定只在我想要的時候做這個專案。如果有人需要新增一些東西到專案裡可以組隊自己新增或付錢給我(Yelluw)來新增。我不反對個性需求。我反對的是所有開源工作都是免費的(如啤酒)。通過限制什麼時候在專案工作,我減少壓力的量。任何外來者的無理期望都是被這個規則簡單處理掉的。
(2)休息
休息很重要。當你在一個專案上工作時,更是如此。我知道這對有些人來說是很難,但是工作過多會降低產量和質量。休息讓我考慮實施並提出更好的解決方案。這也可以讓我的思緒自由發散地去想想其他的程式碼。過分集中於一個程式碼往往是很累人的。
我的經驗法則是,每兩個星期的工作,我休息時間不少於連續三天。休息期間不寫程式碼。
(3)提早設定期望
從一開始就設定期望,人們就不能讓你做你不想做的事情。對我來說,期望很簡單:
- 我不會提供支援。
- 我只會修復提出來的重要的錯誤程式碼(他們影響我或我的付費客戶)。
- 我不會接受貢獻。
- 我不會接受捐款。
這四個明確的期望趕走了人們。我確實失去了一些善意的開發商的興趣,但這是付出代價的安心。
(4)從一開始就寫文件
這很簡單,但是有效。我寫專案文件,來減少問題的數量和支援的要求。這一課是多年前學的。沒有寫文件的程式碼意味著其他開發者會在工作期間打擾我問我,我認為是愚蠢的問題。原來他們不是愚蠢的問題。我才是愚蠢的那一個–沒有記錄程式碼使實施變得簡單。現在我從一開始就記錄,並確保得到反饋的檔案。
(5)迅速關閉問題
如果我不打算處理這些問題,就沒有意義了。眼不見心不煩。
(6)不接受大家的捐款
並不是每個人都適合這個專案。我們可能無法合作。人們往往認為專案維護者都張開雙臂迎接他們的貢獻。不,一點也不。由我來決定你的貢獻是否符合一般的專案路線圖。不新增任何額外的工作開銷。正確記錄。這似乎太苛刻了嗎?是的,這是嚴酷的。但它對我有用。我不想花我的時間處理BS。我就想寫程式碼,然後得到報酬而已。
(7)不接受每個人的反饋
原來有大量的不良反饋。人們傾向於給予反饋但又不需要花時間去理解專案的背景。然而,每個專案都有它開發的上下文。沒有它的反饋(建議)是垃圾。曾經有人告訴我,我應該解決這個問題,因為它使專案無法使用(雖然我自己在生產中就使用它)。有些意見就像混蛋。你會經常會遇到一些。學會恰當地處理它們吧。
(8)定義成功
這就是一些人失去動力的所在。擁有一個人們認為成功的專案需要花費大量的時間和精力。我不在乎人們是否認為這個專案是成功的,因為我定義了成功意味著什麼。這個專案成功嗎?對!它已經節省了我的時間和精力。但這不是巧合,該專案的成功是從一開始就定義為:如果我能減少我為客戶在網站上工作的時間,這個專案將是成功的。成功不是建立在一些虛榮的基礎上,就像它變得多麼受歡迎一樣。它是基於它對我日常生活的影響。成功的定義是什麼,你永遠不要讓任何人說服你。
(9)我玩得很開心
我認為編碼是有趣的(在大多數情況下)。有樂趣意味著我喜歡工作。即使我不太喜歡這樣做的想法。
(10)收穫
我們都會犯錯。我發出的第一個版本有一個大錯誤!但我發現它並從錯誤中學習。學習也意味著我不會為錯誤而感到羞愧。不,這意味著我會把錯誤當作生命的方式來指明我下一步需要學的東西。
結論
開源專案的工作是非常有意義的,它也是非常緊張。我知道這裡有些事情看起來有點過分,但我很重視我的健康。我希望你看完這些方法後會讓你重新思考你的工作,你的開源專案,你如何維護。我們都是熱愛科技的人。下次見!
譯文連結:http://www.codeceo.com/article/10-things-keep-opensource-healthy.html
英文原文:10 things I do to keep open source projects healthy and stress free
翻譯作者:碼農網 – 柳橙
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- C# 字串操作--減少垃圾回收壓力C#字串
- Go - 使用 sync.Pool 來減少 GC 壓力GoGC
- 程式設計師如何緩解壓力,保持心理健康程式設計師
- IIS減少工作執行緒阻塞的方法執行緒
- 10款開源的壓力/負載測試工具負載
- 最有潛力PHP開源專案PHP
- 畫江湖之 PHP 多執行緒開發 【利用多執行緒 序列任務變並行處理 從而減少序列執行時間】PHP執行緒並行
- 成功的專案管理策略:減少成本,提高質量專案管理
- hadoop archive合併小檔案並進行mapreduce來減少map的數量HadoopHive
- 最具影響力的16個開源專案
- Github上fork專案後保持與源專案更新Github
- 10個你能參與並學習的Java開源專案Java
- idea執行springboot開源專案GunsIdeaSpring Boot
- 找執行力,請按專案管理(轉)專案管理
- 在日常生活中應用精益六西格瑪有助於減少壓力
- js儘量減少程式碼重複執行的次數JS
- 提升熱情讓CRM專案保持前進的動力
- 騰訊,排行前10的開源專案
- 8Manage:提高專案執行力的策略有哪些?
- 如何提高ERP專案實施的執行力(轉)
- 開源專案也要講注意力經濟
- 清理微控制器編譯過程中產生的編譯檔案(壓縮以減少專案體積)編譯
- 在Docker容器中執行GUI圖形應用的開源專案DockerGUI
- 開源軟體需順暢執行 開源專案要怎樣實施(轉)
- git clone一個laravel的專案到本地並執行GitLaravel
- 測試生存指南!如何在快速迭代的專案中減少返工?
- 如何找到並快速上手一個開源專案
- Linux下開源的DDR壓力測試工具Linux
- 專案管理提高企業執行力的快速通道(轉)專案管理
- q:一個可直接在 CSV/TSV檔案上執行SQL的開源專案SQL
- 利用源生成器,在編譯階段生成對映程式碼,減少執行時反射編譯反射
- 專案管理難題——資源少專案多,如何破局?專案管理
- 專案管理系統怎樣幫助企業提升專案執行力?專案管理
- 大規模執行MongoDB應該知道的10件事MongoDB
- 用專案總結來減少問題的重複發生(轉)
- 我編的併發執行緒壓力測試工具執行緒
- 多執行緒伺服器壓力測試執行緒伺服器
- 如何發起並運營一個開源專案