作為程序員,遇到問題時(shí)你的解決手段是什么?大佬都是這樣做的!
針對處理的困難談?wù)勗谶@“無助”的情況下是如何克服和解決的,我把我的過程上升一個(gè)層面總結(jié)為本文的主題:作為程序員,你遇到問題時(shí)會(huì)如何去解決?擁有解決問題能力的人,是稀缺的。

渠道/手段
1. Baidu or Google
遇到疑難雜癥,百度和谷歌是必不可少的解決手段之一,相信這也是大家最常用最下意識的辦法,“面向百度/谷歌編程”,“CV 工程師”,“CRDU”,這些標(biāo)簽可不是白來的:joy:,但不要覺得這很低級,百度/谷歌確實(shí)是非常高效的解決手段,很多時(shí)候谷歌 5 分鐘的事,卻要在一些技術(shù)群里聽“大佬”吹逼兩小時(shí),只能說 google yyds
2. 官方/社區(qū)
當(dāng)百度和谷歌解決不了的時(shí)候,那么我們需要其他手段:找官方、找社區(qū)。
2.1 翻閱官方文檔
對于翻文檔是很多小伙伴不愿做的事情,尤其是遇到非中文的文檔更是令人懊惱(慶幸的是 Electron 支持多語言),但官方文檔確實(shí)是信任度是最高的,效率也還不錯(cuò),遇到困惑的時(shí)候就多翻翻文檔,每次仔細(xì)閱讀總能發(fā)現(xiàn)之前忽略了的細(xì)節(jié),往往這些細(xì)節(jié)能幫助你解決問題。
2.2 項(xiàng)目托管平臺提 issue
主流托管項(xiàng)目的平臺有 github、gitee 等,它們都會(huì)有一個(gè)功能叫 issue,這是專門為開發(fā)者提 bug 和提問題設(shè)立的。
我升級了 Electron 最新版本后,許多功能不可用了,這必然在項(xiàng)目中是零容忍的,而且這應(yīng)該屬于偏細(xì)節(jié)的問題了,當(dāng)時(shí)是比較難解決,每個(gè)問題都要花上幾天時(shí)間,很是焦慮,這種場景下,到 github 提 issue 是我少有的辦法之一(因?yàn)橹肮雀韬臀臋n搞的我?guī)缀鯕椌邞]了),還好官方比較活躍,而且對問題是一針見血,熱情而快捷的幫助我解決了,那段時(shí)間我每天上班的第一件事就是要看我的郵箱是否收到了官方的回復(fù)。

2.3 官方社區(qū)
一些知名的開源技術(shù)都會(huì)有社區(qū),社區(qū)通常都有溝通方式,其中有的活躍有的否,但在無計(jì)可施的情況,這也不失為一種途徑。
開始常常在 github 提 issue,但由于官方是其他國家的,時(shí)區(qū)不同,所以我大多數(shù)都是第一天提問題,第二天晚上才能收到答案,有時(shí)官方忙,抽不出精力的時(shí)候,甚至好幾天都得不到回復(fù),再遇到周末基本需要等上 4 5 天,這對于我來說實(shí)在傷不起啊,但官方似乎了解了我的困境,在一次溝通中給出了另一個(gè)渠道:?社區(qū)?。社區(qū)頁面提供了一些解決問題的方式:?1. 加入?Discord?server 2. Electron fiddle(提供最小 testcase demo 的工具) 3. Stack Overflow,?不知不覺又多了一些希望,后來在解決問題的過程中 Discord 成為了非常重要的溝通工具,Discord 中有 Electron 單獨(dú)的服務(wù)器,能夠?qū)崟r(shí)的溝通,這大大節(jié)約了我解決問題的時(shí)間。

Discord

Electron fiddle

3. 問答社區(qū)
3.1 Stack Overflow
在等官方回復(fù)的過程中我也沒有閑著,其中也上一些問答社區(qū)提問題,抱著僥幸心理,希望能得到別人的幫助,我找的第一個(gè)問答社區(qū)就是?stack overflow?,因?yàn)槲液芏啻卧谶@個(gè)平臺找到答案,而且技術(shù)棧非常的?豐富?,?問答質(zhì)量很高?,?回復(fù)效率也是同樣?,首推,除此之外當(dāng)然還有其他優(yōu)秀的問答社區(qū)和博客平臺,就不一一列舉了。
3.2 技術(shù)論壇
關(guān)于技術(shù)論壇,最好找最接近問題的技術(shù)棧論壇,靠的越近越容易獲得答案,而且要活躍,很多社區(qū)一個(gè)帖子沉寂好久,等別人回答了黃花菜也涼了。

4. 咨詢專業(yè)人士
如果上述還沒有解決問題,那么找周圍同事、朋友和技術(shù)群等大佬們幫忙也是一種辦法,善于利于身邊的資源,但需要注意的是:
不要遇到問題就問,一個(gè)是不要依賴別人,另一個(gè)是老麻煩別人欠的是人情,也不是所有人都毫無保留、樂于幫助解答的。
要注意問人的態(tài)度和方式,一定要問的有質(zhì)量,你仔細(xì)考慮過這個(gè)問題,不要問一些網(wǎng)上到處的都是,這樣有可能會(huì)讓人感覺到不尊重。
仔細(xì)歸納你的問題的描述,讓別人能夠理解,有時(shí)候線上不如先下交流那么方便,所以需要簡短準(zhǔn)確描述你的問題。
5. 查詢書籍
在黔驢技窮的時(shí)候,看看書也許真的能幫你解決問題,?在選擇書方面,盡可能看新出版的書,尤其是技術(shù)框架類,它一直在變,版本不一致遇到的問題和答案并不一定適用,總的來說,看書解決問題并不是很推薦,以為比較耗時(shí)也不方便,并不是所有公司都允許你上班時(shí)間看書,看書作為學(xué)習(xí)和知識積累還是非常不錯(cuò)的,書比較系統(tǒng),紙質(zhì)的東西對吸收的效果也很好。
我在解決 Electron 時(shí)也看了相關(guān)的書——《Electron 開發(fā)實(shí)戰(zhàn)》,看這本書時(shí),并不完全是為了解決問題,其中百分之 60 是自身興趣+學(xué)習(xí)知識,但這本書確實(shí)幫助了我很多,有意思的是在書中看到一個(gè)新特性,我會(huì)忍不住的去項(xiàng)目中找是否用了此特性,如果沒有用那是否可以運(yùn)用此特性做一些事情,這樣不知不覺多看了代碼,大家都知道硬看代碼是很難看下去的,同樣的我在看代碼的過程中看到了不懂的內(nèi)容,又去翻書看看書里是否有講解,沒想到不知不覺的把這個(gè)項(xiàng)目做了大半。

結(jié)語
綜合以上的方式,給出一些溫馨提示:
學(xué)會(huì)歸納問題,不知哪位名人說過:問對了問題,就解決了問題的多半(完整的不記得了:joy:),很多人同樣都在使用搜索引擎卻有的找不出答案。
要掌握一些常用英文詞匯和擁有一個(gè)好的翻譯軟件,它能夠提升你看文檔的效率,同時(shí)也方便跟老外交流。
給官方提問題要盡可能提供完整的信息,最好有一個(gè)可運(yùn)行且小的 testcase demo。
到一個(gè)問答社區(qū)提問題要注意規(guī)范,Stack Overflow 的代碼格式化(第一次提問題的時(shí)候,搞了好幾個(gè)小時(shí))
問人要講究藝術(shù)(具體看文中"咨詢專業(yè)人士"章節(jié))

另外,對現(xiàn)在我們的大多數(shù)朋友來說還是學(xué)編程技術(shù)最重要!栽一棵樹最好的時(shí)間是十年前,其次是現(xiàn)在。對于準(zhǔn)備學(xué)習(xí)編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!
微信公眾號:C語言編程學(xué)習(xí)基地
整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
