成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用搜索技巧來成為一名高效的程序員

開發 后端
沒有人是完全獨立的孤島,每個人都是整體的一部分。——約翰·多恩

沒有人是完全獨立的孤島,每個人都是整體的一部分。——約翰·多恩

對于缺乏編程知識的人來說,完全有可能編寫一個網頁或小程序。如果在用Google搜索相關示例時幸運的話,可以搜到現成的代碼。即使是經驗豐富的程序員,通常也會為了節省時間和精力而在網上搜索解決方案。

 

 

如果不借助搜索技術、網絡及集體智慧,現代化高效編程是難以想象的。因此,搜索技巧對高效程序員變得愈發重要。

現在,我們不需要了解和記住如何解決眾多的編程問題,可以采用搜索技術。我們正變得更加高效、高生產力,并能夠解決更多的問題。但這是否意味著在構建軟件時,擁有好的搜索技巧就足夠了呢?本文將討論,搜索技巧在程序員知識的形成過程中的作用,以及如何高效使用搜索技巧。 知識的類型及它在程序員大腦中如何成長。

 

 

有三類知識:

概念知識

(為什么、是什么、如果—— 語義上的)——理解軟件系統構建過程中的概念、原理、關系及主要方法。根據這類知識,能夠找出體系結構或代碼必須按特定方式設計的原因,以及從中選擇最佳 設計方案的備選方案和邏輯是什么。概念知識,不是指用特定編程語言解決特定問題,而是對問題的長遠看法和理解。

用途: 對復雜的開放式問題尋找新的解決方案,并創建穩健的軟件系統。

收獲: 學習計算機科學、體系結構以及編程概念,在實際實現和經驗的基礎上,構建自己的理論。

實踐性知識

(如何做 —— 過程中的)—— 關于如何解決特定編程問題的知識。這類知識不需要深入理解實現方法選擇過程中隱含的概念及基本原理。搜索技術在這里最重要,因為對有限的編程語言問題所采取的特定解決方案,搜索能相對容易的加以共享并說明。

用途: 用已證實的和已知的解決方案快速解決問題,而不是每次都重新發明一種新的方法。

收獲: 搜索現有的解決方案,通過例子學習或提出自己的解決方案并以后對其重利用。

隱性知識

(專業知識、經驗及直覺)——基于軟件系統實現過程中所積累的個人經驗,在大腦中形成的內在知識。通過強大的 大腦功能,隱性知識可以綜合并協調其他兩種知識。這類知識很難傳授,因為它的大部分都存儲在我們的潛意識中。在特定環境下,它和直覺一同發揮作用,能夠在 經驗、對概念性和實踐性知識的反饋和評估的基礎上,制定最佳決策。

用途: 利用自己的專長、經驗及直覺來實現最佳解決方案。

收獲: 構建軟件并從結果中學習知識。

 

 

 

設計模式(還有架構、領域及其他)是不同類型知識相結合的有趣的例子:“如何做”的例子,這些例子中隱含的概念及實現過程中積累的經驗。這種知識的表現方式是模式成功及廣泛應用的原因之一。

隨著越來越多的可供使用的實踐性解決方案和示例出現在網絡上,人們大腦中的實踐性知識的價值越來越小。我們不需要記住實踐性知識。現在我們能夠處理軟 件構建過程中幾乎所有可能遇到的常見編程問題。然而,除能夠解決問題的示例或從哪搜索這些示例以外,一名大師級的程序員還知道更多的知識。他能夠提出自己 的解決方案,制定大部分最佳決策,并采用最好的方式應用它們。此外,很難在網上找到新的、復雜的、領域性的及特定環境下的問題的解決方案。而且,對所有重 要的軟件工程,在制定優秀解決方案的過程中,都需要高水平的軟件開發理論、這些理論的應用經驗、對系統的深入了解、問題空間及環境等相關知識。

因此,在軟件開發過程中,概念知識和隱性知識仍然是非常重要的。在使用搜索技術時,我們應當努力擴充各種知識,而不是僅僅解決特定問題。隨著解決更高級問題的能力的提高,你會取得成功,成為更高效的程序員。

 

 

可解決實際問題的高效搜索

A. 查找

1. 定義——弄清楚要解決什么問題,并以要查找的內容為焦點。網絡上有如此多的有趣的材料,以至于搜索過程能輕易地占掉你全部的工作時間(和個人時間)。

2. 檢索(使用標準的Google、代碼搜索或其他的檢索引擎)—有很多關于如何高效的使用檢索引擎的建議。

3. 瀏覽結果(內容的質量、可信度及專業技術的水平;如果資料的可信度過低,無須再看)-> 閱讀 -> 評估(人力物力、所需工具及函數庫)

B. 使用

1. 復制代碼 - 單獨復制(針對這一目的,帶有長釘技術的顯式單元測試最適合)

2. 清除代碼 - 僅保留最小限度、相關性代碼,清除解決方案中的其它代碼。

3. 在系統中應用代碼。

C. 學習

1. 理解——你做了什么及你為什么那樣做——從代碼和實現中學習。

2. 擴充知識——

a. 實踐性知識:解決問題的特定方法、技巧及風格;

b. 概念知識:學習新概念、提煉現有的并構建自己的概念;

c. 隱性知識:明智地使用并學習搜索到的解決方案,經驗會自然而然地得到增長。

3. 收集(鏈接、意見、參考文獻、閱讀清單)—任何對你今后搜索、發現及學習有用的有趣信息。為這些目標積累知識。

【編輯推薦】

  1. 并行計算的難點與數學原理解析
  2. Perl數學函數用法大全
  3. 程序員的十個層次 你屬于哪一層?
  4. 面對Bug,程序員何去何從?
  5. 論:如何成為有思想、能創新的程序員
責任編輯:金賀 來源: JavaEye博客
相關推薦

2011-05-23 15:18:34

程序員

2022-09-30 10:32:59

API文檔

2011-11-09 13:52:04

程序員

2019-01-28 11:54:28

程序員技能溝通

2015-05-15 10:39:44

Java 冠軍程序員?

2011-04-11 17:41:35

C++程序員

2017-09-21 09:44:00

編程程序員軟件開發

2011-05-03 08:54:36

2012-12-12 09:52:18

程序員

2021-02-21 13:49:48

Java程序員開發

2015-03-19 14:56:08

程序員專專家級的程序員

2015-11-30 11:01:07

程序員閱讀源代碼

2015-11-30 08:57:07

源代碼閱讀程序員

2021-02-05 14:56:39

YouTube編程程序員

2021-03-12 16:17:37

程序員 女性主義兩性 價值觀

2015-06-04 11:31:36

程序員12周內

2020-03-23 09:27:51

程序員技術設計

2009-11-04 11:54:33

程序員職業水準

2013-02-22 10:21:06

2020-05-07 15:14:10

程序員技能開發者
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩成人在线视频 | 久草福利 | 国产精品一区二区在线观看 | 日本黄色高清视频 | av在线播放一区二区 | 成人精品一区二区三区中文字幕 | 国产精品永久免费视频 | 国产日韩久久 | 天天射天天操天天干 | 日韩欧美国产精品一区二区三区 | 日韩欧美国产一区二区三区 | 欧美专区在线 | 色欧美片视频在线观看 | av在线免费不卡 | h在线播放 | 精品日韩一区 | 日本在线综合 | 99pao成人国产永久免费视频 | 日韩在线免费视频 | 国产高清视频一区 | 日韩欧美在线一区 | 欧美一区二区三区视频在线播放 | 日韩伦理一区二区 | 99久久久国产精品 | 欧美中文字幕在线观看 | 丝袜久久| 久久av网| 日本成人在线观看网站 | 作爱视频免费观看 | 久久天堂 | 日本精品一区二区三区四区 | 精品国产欧美一区二区三区成人 | 国产高清在线精品 | 欧美毛片免费观看 | 美女二区| 欧美精品一区二区三区一线天视频 | 亚洲欧洲国产视频 | 精品1区2区 | 一区二区三区在线观看视频 | 亚洲一区二区在线 | 亚洲国产成人av |