本文概覽
- 本文是對程式設計過程中的一些思考,或者是蹦出的一些想法,記錄下來
- 我的程式設計方向是自動化運維(網絡,虛拟化方向),是以前端後端資料庫都會有所涉及
- 工作中是主要的程式設計實踐,平時主要會補計算機的一些基礎,是以也會有一些學習思考
特别的書籍推薦
- 《程式員的自我修養》作者:陳逸鶴
程式設計的了解
- 作為一位程式設計人員,我覺得就是在不斷否定自己的過程中獲得成長的,自己的代碼需要一遍又一遍的審視。我也在努力做到這一點,一方面需要借助大牛的觀點來幫助自己提升對代碼大的結構上的認知,一方面需要敦促自己不斷優化細節,達到更好的效果
- 我覺得借助工具,了解工具,能讓工作更有效率,比如你的代碼編輯器,程式設計的一些小技巧等等。我經常使用的是 JetBrains 公司出品的編輯器系列,涵蓋大多數程式語言,裡面的功能很多,就像一座寶藏一樣,可以不斷的挖掘,但缺點是太耗記憶體
- 從大的層面上來說,我們程式設計主要就是把好的想法實作出來,并且不斷優化。這裡包含三個方面,想法,實作,優化,個人覺得想法與優化是非常難的事情,是區分程式員的重要标準。
- 很多東西你需要知道它的存在,你才能去了解它,這個關乎視野與眼界的問題,這個世界上有很多天才,要學會借天才之力,比如看書,比如和大牛在一起工作
- 正确認識自己,正确認識這個世界,雖說這個話題與程式設計距離比較遠,但我覺得非常重要,人是一種社會化動物,會潛移默化地受到世界的影響,人——才是所有問題的根源,很多成功學與心靈雞湯都在強調這一點,比如擁有堅定的信念才能獲得成功,這個話題很寬泛,也很深奧
程式設計常見問題類
1. 怎麼才能讓自己的代碼最優?
- 我覺得這個問題需要我不斷地追尋,将這個問題簡化為幾個方面
- 什麼是最優的
- 如何達到最優
- 如何判斷是最優的
前端是我最不擅長的領域,但同時也是我最好奇的領域,因為世界的缤紛從這裡開始,我将從前端的角度出發,思考這一系列問題
- 從某些方面來說,知道什麼是最優的可能是我目前(2019)最大的問題和障礙,我不知道好的頁面和構思是怎麼來的,唯一的就是我的感官判斷,覺得好看,但我發現一個問題,當别人編寫的頁面,我能很客觀的判斷,但當我自己觀察自己的頁面時,我發現我的審美能力在直線下降,最要緊的是整個頁面的布局和整體結構上,我對此能力非常缺乏,大多數情況下,都在模仿,也可以被叫做抄襲。好的作者都是模仿開始的,我不否認,但我覺得隻有當自己有自己的觀點,形成自己的風格的時候才能真正領悟其中的奧秘。這一方面當然也是可以學習的
- 達到最優的情況是其中的核心部分,将該問題繼續分解為幾個方面,如何平衡時間,
2. 代碼的世界那麼廣,怎樣腳踏實地地學習
- 最近考完RHCE,但是感覺對linux的了解并沒有更深,反而陷入了一種什麼都想幹,又什麼都無法深入學習的困境
- 尤其是工作中自己承擔的功能比較雜,每樣都需要不斷地學,感覺自己的好奇心在不斷膨脹,對每樣新事物都淺嘗辄止
- 腦子裡不斷會想起,知乎的那些前輩說的,技術在精,不在廣
- 這種糾結的複雜心情,決定暫時放下工作,仔細思考前進的方向與自己最終想要成為的人
- 多希望有位大師能夠指點迷津,不然在這團迷霧中轉圈,不知何時才能出來
- 如何擺脫繁雜的工作,抽出身來潛心學習,最近一直在思考
- 人的時間大部分被工作與睡眠占據,仿佛失去了生活的本來面紗和意義,我覺得我隻是在生存,而不是在生活
- 現如今,商家紛紛打廣告,叫我們不要抑制自己的欲望,想買就買,可仔細一想,我們的錢都去哪裡了
- 差別生存還是生活,除了自己的心境外,還有一個很大的因素就是有沒有錢,就像敗者的話沒人能記住一樣
- 把錢花出去了,就相當于把生活的主動權給别人了,有心境又怎樣,控制權在别人手裡,生活就無法自我把控
- 我們不僅要和别人鬥争,還需要和自己的潛意識和本能鬥争,斡旋于兩者之間
- 我想賺錢,我想有好身材,還想要知識淵博,逢考必過,還想要一個漂亮合适的女朋友,還想從工作中擷取快樂,那種源源不斷,充實的快樂
- 可現實有點殘酷,最近經曆了很多社會的黑暗現象,回想起小時候被霸淩的時候,那種無助和期望别人善良的心态,現在社會不會直接對你施以暴力,而是以一種無形的,從各個方面對你施以壓力的方式進行壓迫
- 有時候看到圖書館那些努力上進的人都很害怕,這些人說不定哪天就與你競争,或者成為你的老闆,都是有可能發生的事
- 活着好痛苦呀,好悲觀,好消極
3. 代碼生産環境問題
- 最近工作中碰到了一個問題,生産和測試開發環境的不一緻,而且沒有完整的項目管理,很有可能導緻,出現了
bug,然後去修改代碼,在開發環境中改完了該bug後,很害怕會改動到其他地方,尤其是一些git無法監控的一些東西c
程式設計的良好習慣
Git 篇
- git 送出前,仔細确認所有更改的東西,避免送出錯誤的東西
- 謹慎使用
或者git add -A
或者git add .
git commit -a -m
團隊合作
- 如果要将代碼更新到生産環境時,請詢問團隊成員有沒有新增的版本要送出
- 不要過多地炫耀自己的技能
- 清晰的任務分工和好心幫助之間需要明白這兩者的界限
- 說到要做到,在很多地方都是這樣,别人對你的印象在團隊合作中很重要
代碼編寫
- 代碼編寫能力分為程式設計功底和業務熟悉,程式設計功底更為重要
- 寫代碼需要從使用者的需求出發,以使用者的評價作為非常重要的标準
- 改寫代碼時,需要謹慎小心,避免修改到其他地方
- 寫完後,在送出git之前,請先測試和檢查好
- 在功能優秀和穩定運作兩者之間,穩定運作是基礎,請先保證程式穩定運作
交流
- 清晰的邏輯表達能力是交流的基礎,如果做不到,請先準備一張小紙條,寫下你要說的話
- 說話帶敬語不代表低聲下氣,而是禮貌和有素養
- 說話時要飽滿有力,不是聲音大哦
碰到的困難
- 使用到一個 uwsgi 伺服器相關的庫時,出現了一些難以解決的問題,最近在檢視官方文檔,一邊看文檔,一邊用代碼實驗,測試效果