到底什麼是程序員思維,如何提升這種思維?

月下藍雨


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

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

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

2.分層次

3.模塊化

4.面向對象編程,和麵向對象開發約定 及模式

5.測試驅動開發

6.算法,O,o,數據結構和算法……等等

7.數學

8.邏輯

9.ui和交互

10.大道至簡

11.規範與自律

12.有限的問題集

13.思考和晚動手

14.看源碼和分享

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

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


一葉書藏


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


雲說書人


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

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

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

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

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

對於程序員來說,培養編程思維能力一方面要多做實驗並多做總結,另一方面也可以通過閱讀已有的代碼來提升,比如閱讀一下Linux系統的核心源代碼就是不錯的選擇。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網方面的問題,或者考研方面的問題,都可以諮詢我,謝謝!


IT人劉俊明


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

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

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

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

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

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


我是一隻犀鳥


我們不生產代碼,只做代碼的搬運工


修改用戶名總是失敗


面向對象編程和設計


java技術架構


由輸入能預想出結果,這就是程序員思維


一杯茶一本書悠然自得


請問你有對象嗎


雲泉樹月


看到一個東西,能快速的抽象出架構。然後再慢慢的補充細節


IT大胖


懂得複製粘貼


分享到:


相關文章: