回覆列表
  • 1 # 犀鳥書棧

    程式設計師思維我覺得應該是一絲不苟、按部就班的一種思維方式。

    這種思維方式的好處是:能夠很清晰的看到目標。過程也很緊湊,不會出現大的失誤。

    但是,這種思維的弊端是:模式化太嚴重,缺乏活力,不會變通。一旦方向錯誤,將陷入死迴圈。

    本人覺得沒必要刻意去提升這種思維。

    程式設計師思維對於應對機械化的工作,大規模產業協作,非常有效。但是,對於現今網際網路時代,很多新晉崛起的小公司,和一些有多元思維的超級個體,這種思維方式就不是很好!

    如果你真的想提升程式設計師思維,我覺得就只能在工作和學習中,給自己設定一個目標,按部就班,紮實推進,過程中有少許偏差要及時糾正,直到達到這個目標。當然這個過程會比較長,而且會比較痛苦。

    個人意見,僅供參考!

  • 2 # IT人劉俊明

    通常來說,不同崗位和級別的程式設計師需要具備不同的思維方式,因為需要解決的問題通常有較大的區別。

    通常程式設計師分為兩大類,一類是研發級程式設計師,另一類是應用級程式設計師。研發級程式設計師通常考慮的是系統級問題,比如平臺的開發及實現,而應用級程式設計師通常解決的是行業問題,比如具體的業務邏輯如何實現。以大資料開發為例,研發級程式設計師的目標是完成大資料平臺研發,而應用級程式設計師的任務是在大資料平臺下進行具體的大資料應用開發。

    在具體的實施方面,研發級程式設計師需要重點考慮三方面問題,其一是資源管理問題;其二是結構設計問題;其三是效能最佳化問題,這三個問題對應於三方面基礎知識,分別是作業系統體系結構、編譯原理和演算法設計,所以研發級程式設計師對於基礎知識的要求通常比較高,研發級程式設計師要解決的問題說到底就是數學問題。看一個例子(引自artificial intelligence a modern approach):

    對於應用級程式設計師來說,工作任務的重點在於如何利用已有的平臺進行功能的具體實現,核心在於如何完成具體業務邏輯的實現。在實現的過程中通常需要呼叫平臺提供的API完成具體功能的實現,隨著雲計算平臺的應用,使用PaaS進行應用級開發是一個重要的發展趨勢。

    不論對於研發級程式設計師來說,還是應用級程式設計師來說,所謂的程式設計師思維就是解決問題的思路和方法,思路通常指的是邏輯(演算法),而方法通常指的是程式語言的應用。所以,要想培養程式設計師思維需要從邏輯和程式語言兩個方面入手。

    對於程式設計師來說,培養程式設計思維能力一方面要多做實驗並多做總結,另一方面也可以透過閱讀已有的程式碼來提升,比如閱讀一下Linux系統的核心原始碼就是不錯的選擇。

  • 3 # IT人張飛洪

    1 最重要的當然是抽象思維

    擁有抽象思維,能夠讓你深刻地理解外部世界。

    作為程式設計師,也應當有程式設計師的抽象思維,提取程式的本質資料,而不用拘泥於資料的各種細節處理,站在一個比較高的高度去看問題。

    判斷一個程式設計師的水平,很重要的一點就是看他對於程式碼的抽象程度。抽象是一種能讓你在關注某一概念(你抽象出來的是本質)的同時可以放心忽略其中一些細節,告別繁瑣的業務邏輯。

    學習的時候,也要有抽象思維,雖然我不知道這行程式碼怎麼寫,也看不懂,但是我知道這行程式碼抽象出來的結果是怎麼樣的,抽象出來的初始條件是什麼,中間過程的實現我不必關注,我只關注引數、返回什麼。

    培養自己的抽象思維,可以從這幾點入手:

    功能分析使用設計模式

    2 系統性的思考方式

    當你在寫程式碼的時候,你很容易就認為只要你按照需求實現了指定的功能,你的程式碼就寫完了。但是這其實只是冰山一角。任何沒有釋出到生產環境的程式碼都不會產生任何價值。

    如果想寫出真正有影響力的程式碼,你需要從整個系統去理解你的工作:

    你寫的程式碼和其他人寫的程式碼在功能上是什麼關係?你有沒有好好測試你的程式碼?或者其他人是否很容易測試你的程式碼?為了部署你的程式碼,線上生產環境的程式碼是不是需要改動?新的程式碼會不會影響到已經執行的程式碼?在新的功能下,你的目標使用者的行為是不是你期望的?你的程式碼有沒有產生商業上的影響?

    這些問題都不是很容易就能回答的,但是在寫程式碼的時候,你需要明白你的程式碼最後會不會得到最好的結果。

    3 學會利用工具

    工欲善其事,必先利其器,測試需要好的工具軟體,程式碼管理員也會使用一款原始碼版本管理工具來管理自己的程式碼。生活中也需要各種便利的工具軟體。

    4 開源共享的思維

    開源共享可以讓技能不落伍開源共享可以和更多的人交流開源共享可以讓你成為一個更好的溝通者開源共享能讓你成為更好的開發者開源共享可以使自己的開發專案更好開源共享讓你更善於營銷

    5 團隊協作思維

    在專案開發中,每個人的技術能力都是有限的,即便你的能力再好,也不可能一個人完成專案裡的所有事情。只有與團隊中的人合力協作,你們才能更好地完成專案。沒有團隊協作能力的程式設計師,是沒法在職場中得到提升的。

    6 規範化的程式碼編寫習慣

    良好的程式碼編寫習慣,有助於程式碼的移植和糾錯,對不同技術人員之間的協作也有很大的幫助。在知名軟體公司中,程式碼的變數命名、程式碼內註釋格式,甚至巢狀中行縮排的長度和函式間的空行數字都有明確規定。讓你寫的程式碼,有良好的可讀性,這是身為程式設計師的基本素養。

    7 複用性設計、模組化思維

    在你要完成一個功能模組或函式的時候,不要侷限在完成當前任務的思路中,可以多考慮這個模組是否可以在脫離當前系統之後,透過簡單的修改引數的方式,也能在其他系統和應用環境下直接引用。如果可以的話,那麼以後你就能極大避免重複性的開發工作。

    如果企業在每一次研發過程中都考慮到這些問題,那麼程式設計師就會有更多的時間投入到創新性工作中,避免在重複性的工作中耽誤太多時間。

  • 4 # 雲說書人

    邏輯思維吧,我就說說我自己吧。比如我思考如何搭建伺服器的時候,我會思考,首先伺服器是什麼,一臺執行的電腦,裡面安裝好我要用的軟體。我覺得程式設計師思維最重要的是懂原理,有很多人以為自己踏入了程式設計師的大門,但是連最基本的計算機組成都不懂,什麼是記憶體什麼磁碟什麼是驅動。我大學老師教授我們一句很重要的話,結果不重要,重要的思想,懂原理最重要。程式設計師思維都是有邏輯可尋的,一知半解最可怕,因為很可能出了問題會歸結為玄學。從本質上思考才是好的方式方法。

  • 5 # 菠蘿蘿不憂

    這個問題有點大,說清楚不容易,應該有人能拿去寫一本書,我挑一些我瞭解的說一下。

    就不多做解釋了,解釋了也是廢話

    1.自頂向下,逐步分解。

    2.分層次

    3.模組化

    4.面向物件程式設計,和麵向物件開發約定 及模式

    5.測試驅動開發

    6.演算法,O,o,資料結構和演算法……等等

    7.數學

    8.邏輯

    9.ui和互動

    10.大道至簡

    11.規範與自律

    12.有限的問題集

    13.思考和晚動手

    14.看原始碼和分享

    15.關注底層 無論你在那層

    好了,雜七雜八說這麼晚多,希望對大夥有幫助。

  • 中秋節和大豐收的關聯?
  • 賓士車自燃八個月難追償,車主自發維權有用嗎?