作為程序員,自己在Github上的項目被很多人使用是什麼體驗?

自己的項目放在Github上,當有人使用你的代碼的時候,一定會或多或少的遇到一些無法進行下去的問題。他們大多會諮詢項目作者。或在issues里發問題,或聯繫作者郵箱、QQ。大家(項目作者們)在遇到各種用戶提出的問題(簡單問題,奇葩問題,挑戰性問題等)都是如何回答的


唔,因為項目有文檔和實例代碼,好像沒什麼人問如何使用的問題,這部分跳過。

如果是反饋Bug,我一般都不回答直接幹活的,大概流程如下:

1 收到issue或者群里的bug反饋

2 不管是不是真bug,馬上跑到群里吼一聲「卧槽不會知乎前端又哪裡改了吧!!!」,然後小夥伴們就會一個個的出來嘲諷我。

3 向提交者要test case(已經附帶了就跳過這一步)

4 身邊有電腦的話,跑個測試看看。沒電腦的話,打開手機上的GitHub客戶端,看實現代碼,用腦袋跑一跑分析下為啥會有這個問題。根據跑測試或分析結果分為以下可能:

5.1 喂你使用方法錯了啊!回復正確用法。

5.2 卧槽我真特么蠢!只好儘快修,然後發新版本。

5.3 知乎你妹啊,前端天天改天天改!儘快修,然後發新版本。

以上「儘快修」的含義是:

如果我閑著,那就改代碼,跑測試,push,merge to master,release to pypi。

如果我有事,那就從第二步被我吼出來的小夥伴里找個有興趣幫忙改的,把任務交給Ta(何必呢,表現得好像會有妹子幫你改代碼一樣),閑下來在之後審核一下PR,merge,merge to master,release to pypi。

如果我有事,而且沒人幫我(??﹏?),簡單問題就告訴提交者改源碼,複雜的話只好回一個:sorry,等我下課吧,一回寢室就修 TAT

好吧談感受的話:

情況5.1 有人用我寫的東西,挺好的⊙▽⊙

情況5.2 我當時碼代碼是不是喝了假酒了,怎麼這麼蠢⊙▽⊙(好在這種情況不多

情況5.3 知乎我屮艸芔茻!有沒有人認識知乎前端妹(漢)子啊啊啊啊!帶我勾搭一個啊啊啊!一有新版本上線告訴我一聲啊啊啊啊!!以後再也不寫上游不穩的代碼了啊啊啊啊!!知乎你個大坑貨有沒有前段更新的提醒可以定製啊啊啊啊!!

修復完後的賢者時間:一下就修好了,⊙▽⊙,我真是個天才~ 5555 午睡/晚上/周末又沒了 TAT

---------------

哈哈哈不楞得我得棱肯錠不知道我上面在瘋言瘋語什麼~要的就是這個效果~

為了效果項目地址我也不貼了 ⊙▽⊙


首先,自己在 GitHub 上的項目遠談不上被很多人使用,我只想分享下我個人的一點經歷與感悟。

一、心態

當我第一次將自己的項目放上 GitHub ,並在微博與 QQ 群里告訴大家歡迎關注的時候,我的內心是極其緊張的,因為生怕自己寫的東西對於他人來講是無用的,同時我會給自己定個目標:要是能收集到 30 顆星星那麼就算成功了!

我很幸運,第一個項目很快就收到了 40+ 顆星,依然記得那一刻,我簡直是樂開了花,晚上睡覺拿手機上 GiHub 看自己項目的星星數然後躲被窩裡偷笑那種(而這種開心,現在似乎找不到了),我知道自己的付出是值得的。

隨後便是上線第二個項目,第三個,第四個......,每次我都會給自己定個目標,當然在定目標前,我會為此更加努力地寫出更好的項目來配得上我的目標。

我很幸運,接下來的幾個項目都收到了超乎預期的反響(也許我本來定的就不高),我的心態此時也在發生著變化,一絲絲的驕傲開始在我的內心裡滋生,當看到星星數不斷增加的時候,我的反應變成了:哦,到了 300+......哦,到了 500+....,當然也會開心,但卻似乎少了點什麼。

但是,隨著越來越多的人關注並且親身使用我的項目,項目中隱藏的一個個問題(Bug)也隨著而來,這裡我要感謝那些給我提出反饋的朋友們,正式他們的一個個 Issues 和 PR 給我正在不斷膨脹的內心交了一潑涼水,我一下子意識到,自己並沒有想像的那麼優秀,項目中存在太多可以優化與改進的地方了,我還需要更加努力才能配得上人家的支持。

現在,我已經把星星數看淡了很多,我只想儘力寫出更好的項目(庫),不斷讓原有的項目變得更好,並分享到開源社區里,因為我很清楚,我成長最快的階段,汲取知識最多的地方就是這裡,而當我有能力回饋的時候,分享的快樂與幫助他人的快樂才是最大的動力吧!

二、奇遇

首先說點正常的,一般情況下,收到 Issues 的郵件提醒後,會立馬打開電腦(如果出門在外,會及時給反饋的朋友發郵件進行簡單的溝通),然後就是 Bug 重現,分析代碼,修掉 Bug,重新提交代碼,感謝反饋。其實一個人寫的項目往往很難做到詳細的測試,而正是有使用者們及時的反饋信息,給了我不斷將項目完善的動力,與此同時,對於我技術上的提升也有很大的幫助。(Bug 往往源於自己知識點的遺漏與對問題考慮不周)

下面貼張前兩天收到了 PR

多的就不說了,我滾回去學英語了,哈哈哈!


體驗肯定是自豪啦


自己的項目被使用剛開始會覺得,卧槽老子寫的東西有人用了,我趕緊和他聊聊有什麼要改的。慢慢的你將不斷優化,修復你項目中的問題,會有更多的人使用你的項目,自豪感也會有一些,但面對的壓力也更大,你需要花更多的時間去維護你的項目。對待使用者:耐心耐心一定要有耐心!

雖然項目是自己寫的,如果你發現經常有人問你很多你覺得低級的問題,那麼一定是文檔中沒有體現,從我個人的項目出發大部分國人的提問都是在使用方式上,所以會不斷修改文檔,我儘可能的讓大家去提issues,很多人對這個概念基本都沒有,有時間就會簡單教一下。萬不可自認為很牛逼,和對方產生不愉快的爭執。

奇葩的問題作為作者需要思考這個問題是新需求還是對方故意提的,我相信這種判斷能力還是有的,新需求邀請他提一個request標籤的issues,奇葩的問題可以予以拒絕,當然你的項目非常龐大以至於你無法為這些事情處理可以選擇不處理。

項目溝通方式有很多,國外https://gitter.im,國內q群,然後我並不覺得q群可以作為技術討論最合適的工具,更傾向於郵件和issues,目前發現大多數願意貢獻的都是國外開發者,已經有一個印第安人願意幫忙寫測試用例,如果你告訴他你用QQ讓他下載一個?我們現在是用郵件溝通的。

最後來個小的AD,歡迎關注 https://github.com/biezhi/blade


有star沒人用才是最蛋疼的。。。


明明我另外一個項目代碼寫的更牛逼,功能更適用,你們快去star那項目…


幸好還沒人使用。變成了私人項目


成就感啦


推薦閱讀:

消滅星星(Popstar)遊戲是怎麼開發實現的?難不難?
IEEE 754格式是什麼?
Android開發和前端開發,該選擇哪個?
Minecraft開發圈內應不應該開發出降低門檻的程序?
C++求余用的「%」有與它效率相同的其它演算法嗎?

TAG:程序員 | 編程 | GitHub |