我本來標(biāo)題想寫成應(yīng)該如何寫作,但是后來想了想其實(shí)我也不知道怎么寫,我也不知道怎么寫才是好的,所以就誠實(shí)的加了副標(biāo)題,不然太標(biāo)題黨感覺容易被人打死!
我是一名開發(fā),開發(fā)寫代碼和作者寫文章有點(diǎn)類似,因?yàn)槎际菍懡o別人看的,雖然對于開發(fā)來說代碼任務(wù)要完成,但后期維護(hù)和拓展才是最重要的,所以既然是寫給別人看的就不應(yīng)該只是草草了事,完成了功能就可以了,那我該如何寫出易拓展的,別人也能一眼看懂的優(yōu)雅的代碼呢?
這個問題我也一直在思考,很慶幸我的第一家實(shí)習(xí)公司教會我了許多關(guān)于寫代碼方面的知識,雖然我僅僅只在那家公司只待了短短兩個月的時間。
現(xiàn)在公司的項目雖然不大,但是基本上架子和一些代碼規(guī)范是我弄的,所以我在寫代碼的更傾向于寫出別人看到的懂得代碼和易拓展的代碼,現(xiàn)在來說易拓展的代碼可能不是那么容易寫,很多情況我一開始沒考慮到,而別人看的懂代碼我已經(jīng)開始不斷地學(xué)習(xí)了,比如通過閱讀《代碼整潔之道》等等。
除了讀書還有什么更好的方法學(xué)習(xí)如何寫出好代碼么?就比如他們常說的 Read the fucking source code,沒錯就是閱讀源碼,或者閱讀優(yōu)秀的人寫的代碼,我們不僅僅要去讀懂代碼是什么意思,而是應(yīng)該去學(xué)習(xí)他們是如何寫代碼的,他們?yōu)槭裁催@么寫,學(xué)習(xí)他人的思維方式,所以想要寫出好代碼,多讀代碼是一個非常不錯的方法,也是必要的方法。
當(dāng)然今天的標(biāo)題是如何寫作,我卻說了那么多如何寫好代碼的話題,因?yàn)槲艺J(rèn)為其實(shí)這兩個有共同點(diǎn),所以就先講了在寫代碼中的一些想法,寫作也是一樣,一開始我們不知道如何寫,不知道有哪些寫作技巧,那我們怎么學(xué)?多讀書,多讀文章,看看別人是怎么表達(dá)自己觀點(diǎn)的,看看別人如何講好一個故事,他們的思維方式是什么?這些才是我們需要關(guān)注的。
我讀的書其實(shí)不算多,只是有興趣的看過一些書,我也還在不斷的讀書,當(dāng)然最近技術(shù)書偏多一些,寫作這個習(xí)慣算是最近才剛開養(yǎng)成的,我比較喜歡和菜頭的文字,而人家卻已經(jīng)寫了十五年了,如果沒有過去十五年的積累可能也沒有現(xiàn)在我愛的和菜頭,所以不能只是羨慕他寫的好,而不去考慮他之前的堅持和付出。
當(dāng)然寫作前期可以找到一種喜歡的風(fēng)格開始模仿,但記住,如果只是模仿你很難有自己的成就,就像選秀歌手,他們比賽的過程中很多人都是在唱別人的歌,選秀結(jié)束之后很少有人被我們記住,為什么我們記得住張杰,因?yàn)樗凶约旱娘L(fēng)格,有自己的歌。
所以總結(jié)下來,當(dāng)然只是以我的經(jīng)驗(yàn)來看,想寫的更好,大概幾點(diǎn)要素,一是多讀書,多去看別人的思考方式,二是堅持,三是在過程可以漸漸地養(yǎng)成自己的寫作習(xí)慣。
其實(shí)還有一點(diǎn)也比較重要,寫有用的東西,如果是想寫給別人看,那么最好寫一些有用的文字,畢竟在這個每個人時間都很寶貴的時代,我們怎么能好意思向別人討要他們的時間呢?其實(shí)寫有用文字對自己也很有用,因?yàn)槟阒雷约翰皇菫榱藨?yīng)付每天的寫作任務(wù),而是要真的去思考一些事物,這才是用輸出倒逼輸入的一個關(guān)鍵點(diǎn)。
我覺得寫作和演講對每個人都很有用,那么既然有用,希望身邊的每個人都可以開始實(shí)踐了,就像那句話說的「種樹的最好時間是十年前,其次是現(xiàn)在」。