導航:首頁 > 程序命令 > 程序員升級步驟

程序員升級步驟

發布時間:2023-06-16 04:46:13

『壹』 作為java程序員可以升級win10嗎

可以,如果是正版的win7/8/8.1可以免費升級
win7沒預約免費升級win10方法:
1.首先需要到微軟的官方網站上面,登錄微軟官網。
2.登錄之後,這里直接點擊「立即加入」,加入微軟預覽版的試用。
3.來到「接受使用條款和隱私聲明」,點擊「我接受」。
4.然後點擊「安裝Technical Preview」。
5.因為這里是需要升級,所以直接點擊「獲取升級」。
6.下載好升級部件以後,運行,運行後提示重啟。直接重啟。
7.重啟之後會自動彈出Windows Update,點擊「檢測更新」。
8.然後點擊「安裝」。
9.待下載安裝完畢後,點擊「立即重新啟動」。
10.等待之後,進入升級的末端,這里會彈出一個許可條款,直接點擊「我接受」就好。
11.然後可點擊「使用快速設置」,也可點擊自定義。這里點擊的是快速設置。
12.接下來,要做的是等待,這個時會為系統安裝一些應用。
13.等待應用安裝完畢後,進入win10界面。到這里的升級完成。可看到原來win7系統中的一些軟體依然在。

『貳』 我想當一個電腦程序員應該從哪裡學習基礎

程序員是從事程序開發、維護的專業人員。一般我們將程序員分為程序設計人員和程序編碼員,但兩者的界限並不非常清楚,特別是在中國。
作一個真正合格的程序員,應該具有的素質。 1:團隊精神和協作能力 團隊精神和寫作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。 2:文檔習慣 文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。 3:規范化的代碼編寫習慣 知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。 4:需求理解能力 程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。 5:模塊化思維能力 作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。 6:測試習慣 測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。 7:學習和總結的能力 程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員、項目經理。 作為高級程序員,乃至於設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質: 1、 需求分析能力 2、 整體框架能力 3、 流程處理能力 4、 模塊分解能力 5、 整體項目評估能力 6、 團隊組織管理能力

1:計算機硬軟體基礎知識

1. 計算機科學基礎

1.1 數制及其轉換

二進制、十進制和十六進制等常用數制及其相互轉換

1.2 數據的表示

數的表示(原碼、反碼、補碼表示,整數和實數的機內表示方法,精度和溢出)

非數值表示(字元和漢字的機內表示、聲音和圖像的機內表示)

校驗方法和校驗碼(奇偶校驗碼、海明校驗碼)

1.3 算術運算和邏輯運算

計算機中二進制數的運算方法

邏輯代數的基本運算和邏輯表達式的化簡

1.4 數學應用

常用數值計算(矩陣、方程的近似求解、插值)

排列組合、應用統計(數據的統計分析)

1.5 常用數據結構

數組(表態數組、動態數組)、線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)、隊列、棧

、樹(二叉樹、查找樹)、圖的定義、存儲和操作

1.6 常用演算法

常用的排序演算法、查找演算法、數值計算、字元串處理、數據壓縮演算法、遞歸演算法、圖的相關算



演算法與數據結構的關系,演算法效率,演算法設計,演算法描述(流程圖、偽代碼、決策表)

2. 計算機系統基礎知識

2.1 硬體基礎知識

2.1.1計算機系統的組成,硬體系統、軟體系統及層次結構

2.1.2 計算機類型和特點

微機、工作站、伺服器、大型計算機、巨型計算機

2.1.3 中央處理器CPU

算器和控制器的組成,常用的寄存器、指令系統、定址方式、指令執行控制、處理機性能

2.1.4 主存和輔存

存儲器系統

存儲介質(半導體、硬碟、光碟、快閃記憶體、軟盤、磁帶等)

主存儲器的組成、性能及基本原理

Cache的概念、虛擬存儲的概念

輔存設備的類型、特性、性能和容量計算

2.1.5 I/O介面、I/O設備和通信設備

I/O介面(匯流排、DMA、通道、SCSI、並行口、RS232C、USB、IEEE1394)

I/O設備的類型和特性(鍵盤、滑鼠、顯示器、列印機、掃描儀、攝像頭,以及各種輔存設備

I/O設備控制方式(中斷控制、DMA)

通信設備的類型和特性(Modem、集線器、交換機、中繼器、路由器、網橋、網關)及其連接

方法和連接介質(串列連接、並行連接,傳輸介質的類型和特性)

2.2 軟體基礎知識

2.2.1 操作系統基礎知識

操作系統的類型和功能

操作系統的內核(中斷控制)和進程概念

處理機管理、存儲管理、設備管理、文件管理、作業管理

漢字處理

圖形用戶界面及其操作方法

2.3 網路基礎知識

網路的功能、分類、組成和拓撲結構

網路體系結構與協議(OSI/RM,TCP/IP)

常用網路設備與網路通信設備,網路操作系統基礎知識和使用

Client/Server結構、Browser/Server結構

LAN基礎知識

Internet基礎知識

2.4 資料庫基礎知識

資料庫管理系統的主要功能和特徵

資料庫模型(概念模式、外模式、內模式)

數據模型,ER圖

數據操作(關系運算)

資料庫語言(SQL)

資料庫的主要控制功能

2.5 多媒體基礎知識

多媒體基礎概念,常用多媒體設備性能特徵,常用多媒體文件格式類型

簡單圖形的繪制,圖像文件的基本處理方法

音頻和視頻信息的應用

簡單多媒體應用製作方法

2.6 系統性能指標

響應時間、吞吐量、周轉時間等概念

可靠性、可維護性、可擴充性、可移植性、可用性、可重用性、安全性等概念

2.7 計算機應用基礎知識和常用辦公軟體的操作方法

信息管理、數據處理、輔助設計、自動控制、科學計算、人工智慧等概念

文字處理基礎知識和常用操作方法

電子表格處理基礎知識和常用操作方法

演示文稿製作方法

電子郵件處理操作方法

網頁製作方法

3. 軟體開發和運行維護基礎知識

3.1 軟體工程和項目管理基礎知識

軟體工程基本概念

軟體開發各階段的目標和任務

軟體過程基本知識

軟體工程項目管理基本知識

面向對象開發方法基礎知識

軟體開發工具與環境基礎知識(CASE)

軟體質量管理基礎知識

3.2 軟體需求分析、需求定義及軟體基礎知識

結構化分析概念(數據流圖(DFD)、實體關系圖(ER))

面向對象設計、結構化設計基礎知識

模擬設計、代碼設計、人機界面設計要點

3.3 程序設計基礎知識

結構設計程序設計,程序流程圖,NS圖,PAD圖

程序設計風格

面向對象設計基礎知識、可視化程序設計基礎知識

3.4 程序測試基礎知識

黑盒測試、白盒測試、灰盒測試基礎知識

測試工作流程

3.5 軟體開發文檔基礎知識

3.6 軟體運行和維護基礎知識

軟體運行基礎知識

軟體維護基礎知識

4. 安全性基礎知識

安全性基本概念

計算機病毒的防治,計算機犯罪的防範

訪問控制

加密與解密基礎知識

5. 標准化基礎知識

標准化基本概念

國際標准、國家標准、行業標准、企業標准基礎知識

代碼標准、文件格式標准、安全標准、軟體開發規范和文檔標准基礎知識

標准化機構

6. 信息化基本知識

信息化基本概念

全球信息化趨勢,國家信息化戰略,企業信息化戰略和策略常識

有關的法律、法規要點

過程教育、電子商務、電子政務等常識

企業信息資源管理常識

7. 計算機專業英語

掌握計算機技術的基本詞彙

能正確閱讀和理解本領域的簡單英文資料
折疊考試科目2:程序設計

1.內部設計

1.1 理解外部設計

1.2 軟體功能劃分和確定結構

l 數據流圖(DFD)、結構圖。

1.3 物理數據設計

l 確定數據組織方式、存儲介質、設計記錄格式,處理方式。

1.4 詳細輸入輸出設計

l 界面設計、報表設計等。

1.5 內部設計文檔

l 程序介面、程序功能、人機界面、輸入輸出、測試計劃。

1.6 內部設計評審

2.程序設計

2.1 模塊劃分(原則、方法、標准)

2.2 編寫程序設計文檔

l 模塊規格說明書(程序處理邏輯、輸入輸出數據格式)。

l 測試要求說明書(測試類型和目標、測試用例、測試方法)。

2.3.程序設計評審

3.程序實現

3.1 編程

l 編程方法和規范。

l 程序設計語言的選擇和使用。

l 人工走查。

l 程序文檔化。

3.2 程序測試

l 測試環境和測試工具的選擇和使用。

l 測試數據的設計。

l 測試報告的編寫。

4.程序設計語言(C語言為必選,再在VB、C++、Java語言中任選一種)

4.1 C程序設計語言(C99標准)

4.2 C++程序設計語言(ANSI C++標准)

4.3 Java程序設計語言(Java2)

『叄』 程序員怎麼提升自己

第一,技術不能落伍。

技術的更新迭代非常快,所以要學習的東西很多,所以說,做程序員挺不容易的。但作為這個時代的弄潮兒,我們必須提高對自己的要求,否則很容易落伍,被拍死在沙灘上。

一線城市的程序員可能還好,因為公司的產品迭代升級很快,所以技術棧的更新換舊也快。但二三線城市的程序員可能就沒那麼幸運了,往往一個產品都做到沒客戶了,技術還是最初用的那些。

以至於有些程序員回到二三線城市後再去一線會比較難,並不是生活節奏不適應,而是技術跟不上了。

怎麼才能保證技術不落伍呢?並不是說外面流行什麼技術,就一味的跟風,而是有選擇性的,你比如說,Spring Boot 是肯定要跟的,但 Hadoop、Spark 就不一定要跟,要量力而行,看公司的業務規模是否需要。如果不需要,把更多的時間花費到 JDK 源碼、性能優化陵戚上,是更消祥佳的選擇。

第二,熱愛這個行業。

就目前來說,程序員的確是比較高薪的職業,所以很多人都在往這個行業里擠,再加上「狼性文化」、「996」盛行,搞得很內卷。

在這種情況下,在這種壓力下,你有沒有問過自己,內心是否還熱愛著這個行業?

我曾有一個讀者,她問我,「請問你能不能做 C++ 課外輔導啊,孩子上大學,軟體工程專業,之前不懂計算機,現在學習壓力很大,想放棄,認為自己不適合學這個,不開竅,我是看了你的文章開始關注你的,現在因為孩子的事沒辦法了,就想問問,能給付費輔導嗎?」

從這位母親的話中,我感受到了她對孩子滿滿的愛,也感受了學弟學妹們身上背負的壓力。程序員的確要學習很多很多知識,除了編程語言,計算機基礎知識,還尺橋陵有各種框架和工具,時間根本就不夠用。

但有一句俗話叫做「干一行愛一行」,既然入了行,就只有風雨兼程。否則,心裡不愛了,學習的熱忱和動力又從哪裡來?

當你累了的時候,適當地給自己放個假,打一場籃球、打一個小時游戲、唱一首歌,甚至談個戀愛,讓緊綳的神經放鬆下來,心裡的那股熱愛也許就悄無聲息地回來了。

第三,樂於分享自己。

分享的方式多種多樣,並不局限於寫博客,你可以在公司的團隊內部做一次培訓,甚至小到站立會的時候發表一些對技術的想法,或者大到在技術大會上做一次演講。

分享會收獲別人的認可、稱贊,崇拜的小眼神,這些點點滴滴的榮譽感會讓你鼓足勇氣,在前行的道路上充滿干勁,進而精益求精,要求自己做得更好。

『肆』 轉行程序員容易嗎都需要學習什麼

程序員可以說是最近這幾年非常火爆的職業之一了,可以說是公認的高薪職業,而且一般來說辦公環境很好,每天都在辦公室不需要風吹日曬,只需要面對電腦就能拿到一個月上萬的工資,著實令人羨慕。那麼,轉行程序員難不難呢?都需要學習什麼呢?

轉行其實不難,但也不簡單

轉行程序員其實並不算難,因為初級程序員可以說只需要幾個月的專業訓練,就能夠進行簡單的項目製作,而對於一般公司來說,初級程序員能做到這些就已經足夠了。

當然,相當程序員也並不是什麼人都能做到的,這背後都藏著長時間的努力,畢竟高薪是有高薪的理由的,真正能拿到高薪的程序員都是需要掌握一定技能,並且善於學習,不斷鑽研進步的,畢竟,高工資和回報只要給有貢獻的員工的。

結語

轉行程序員是個很不錯的想法,如果能夠付諸實踐,加上努力,一定能夠得到回報,但是這需要十二分的努力,如果你也希望轉行程序員,那麼不妨從現在開始就努力,為了美好的明天!

『伍』 java程序員,想升級電腦,需要主板、CPU、內存、硬碟

我就是java程序員。java程序員懂不懂硬體沒有關系。
java 程序員主要就是用 Myeclipse進行開發 然後還要運行資料庫 。再就是 用瀏覽器上網查詢網頁。其他的沒什麼需求了。
我的台式電腦兩年多了,內存是1.5G cpu 只有1.79GHZ 就夠用。

現在的話 具體型號不知道 你可以到中關村在線裝機。

內存保證 金邦內存2G Cpu 保證AMD 2.0GHZ 硬碟250G 180G 都行 主板不清楚。

如果不玩游戲的話弄個集成顯卡就行 顯示器弄個19液晶的
3000足夠了。

『陸』 怎麼成為一名程序員,要從哪裡開始學起,先學什麼在學什麼

答:

首先你要清楚程序員也分很多種,從語言分,有C,C++,C#,JAVA,Delphi等等,你要考慮好弄自己向哪部分發展。

  1. 一般如果沒什麼理解可以從C語言學起,因為C語言比較貼切於機器語言,大學裡面一般也都是先學C的,學好了C語言,可以觸類旁通,更容易學其他的語言。

2.Java據說是現在最熱門的(所有程序員都覺得自己用的那個語言最牛逼),IOS或者android學了可以做手機軟體哦,Delphi和C#是用控制項拖出自己想要的結果,然後在後台寫代碼的,不過有人說Delphi相對落伍了,但好些大公司還是在用Delphi來搭框架的。

3.選定好語言後,如果覺得自己理解能力動手能力超強的話,自己買本入門的書,或者網上看些教學視頻,邊看邊實踐。不過這個對於初學者來說真的挺難的,因為第一次的話,可能連環境都搭不好,用來編程的軟體對初學者來說還是蠻麻煩的一種軟體,不是這個不行,就是那個設置錯了,或者連一些基礎的窗口啊工程啊項目啊的概念都沒有,網路起來又要答案一個一個看,浪費時間。而且還要自己搭資料庫啊什麼的,真的很難。有老師教的時候,還能掛科一大片的。不過入門了,之後就簡單了,自己隨便找本書,學學代碼用法啊,照著打就可以了。

拓展資料:

程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。

崗位職責:

1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。

2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。

3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。

4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。

5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。

7、負責相關技術文檔的擬訂。

8、負責對業務領域內的技術發展動態進行分析研究。

網路詞條 程序員

『柒』 net程序員怎麼提升自己的技術能力

一、先列三個常見的開發場景:

1、拿到一個模塊詳細設計文檔,大部分程序員的通常做法就是開始搭建界面代碼,然後從第一個按鈕點擊事件或頁面Load事件開始寫第一行業務代碼。寫的差不多了,就運行一下,發現哪裡不是自己想的那樣,就改改,直到改到是自己預想的那樣。

2、做完了一個功能模塊或幾塊相關聯的功能模塊,輸入111asd,發現新建正常、保存正常,就提交給測試人員。測試員用測試用數據、測試場景用例來測試,發現有問題,就登記bug。對於嚴重的影響下一步測試的BUG,測試員就用內部IM通知這個開發人員。對於不影響繼續往下測試的BUG,測試員就登記下來,等程序員有空時處理。

3、程序員一般工作不希望大家打擾,所以開發起來就是開發。等手頭開發告一段落,就看看BUG庫。發現有與自己有關的BUG,就從第一個BUG開始看起。就開始通過IM和測試員掰扯起來(這不是個BUG啊、業務邏輯不是你想的那樣啊、我這里不能重現啊、你給的信息描述不清晰啊),於是IM幾來幾往,甚至跑過去當面交流一番,甚至會拉扯上產品經理一起討論,更甚者需要項目經理或產品經理發起一個會議來集體討論一下

這是不是很熟悉呢?這就是大部分程序員開發的三個步驟:寫代碼、自測、修復BUG。

二、說好的代碼設計、代碼測試呢?

代碼設計?那不是都有開發平台么,已經固化了啊。那不是維護舊功能做完善修改呢么,又不是寫新代碼,只能在現有代碼基礎上修改啊,你又不能大幅重構。

代碼測試?你丫需求討論期、產品設計期、設計評審期那麼長,都把研發項目時間佔光了,就留下2個星期讓我們寫代碼,我們哪裡有時間搞那麼深的測試。還想讓我們搞結對編程?還想讓我們搞測試驅動開發?

而且你看測試,什麼功能測試、集成測試、性能測試、安全測試、安裝部署測試、升級測試、遷移測試、UAT測試,一大堆測試,測試也需要很多時間。

一個項目,需求討論、產品范圍規劃與評審、產品設計與設計評審佔了一個半月,開發+自測就一個月,測試佔了一個半月,這就4個月了啊。

三、為啥程序員寫代碼總是寫寫測測?

剛才大家也都看到了,大部分程序員都是從界面代碼開始寫起,而且寫一寫,就運行一下看看。為什麼會是這種開發方式?

那是因為大部分程序員缺乏在腦子中的整體建模能力。只能做出來一點,真實的感覺一下,然後再往下。

有些是產品經理的上游就有問題,沒給出業務流程圖(因為產品經理也沒做過業務),也沒畫清楚產品功能操作流程圖。

為啥沒給出業務流程圖?因為產品經理不熟悉業務,另外,產品經理也沒有流程建模能力啊。為啥沒畫清楚產品功能操作流程圖啊?因為不會清晰表達流程啊。

很多產品經理、程序員,都缺乏分類、分層、相關、先後能力,更別說總結、洞察能力。

這是基本訓練,是一個做事頭腦清醒的人必備的技能,這不是一個程序員或產品經理或測試員的特定技能要求。

我經常看書就梳理書的脈絡,每看一本就寫一篇總結。我過去閑扯淡還梳理過水滸傳、紅樓夢的人物關系圖呢,其實就在事事上訓練自己的關聯性、層次性、洞察性。

我經常面試一個人時,我會問這樣的問題:「你把我剛才說的話復述一遍,另外你再回答一下我為什麼會這樣?」,其實,我就在看一個人的細心記憶、完整梳理、重現能力,我也在看一個人的梳理、總結、洞察能力。

我個人寫代碼就喜歡先理解業務流,然後理解數據表關系,然後理解產品功能操作流,大致對功能為何這樣設計、功能這樣操作會取什麼表、插入或更新哪些表,哪些表的狀態欄位是關鍵。

然後我寫代碼的時候,就根據我所理解的業務流、功能操作流、數據輸入輸出流,定義函數,定義函數的輸入與輸出。

然後,我會給函數的輸入值,賦上一些固定值,跑下來看看能否跑通這幾個關聯函數,看看還需要怎樣的新增函數,或者看看函數的輸入輸出參數是否滿足跑通。

剩下的事,就是我填肉寫詳細邏輯代碼了。

當然,大部分人沒我這樣的邏輯建模能力。怎麼閱讀理解也想像不出來,也沒法定義函數。畢竟有邏輯建模能力的程序員都很少,100個人里有10個,已經是求爺爺告奶奶好幸運了。

那怎麼辦呢?

我建議是分離分工配合,這就是現實中沒辦法的辦法。讓有邏輯建模能力的人來設計函數框架、來設計工具來設計代碼模板,然後讓沒有邏輯建模能力的人來填肉寫詳細邏輯代碼。

我們可以先從最緊要的模塊開始這么做。不緊要的模塊,還讓它放任自流,讓熟練手程序員繼續塗抹。

我曾經還讓有頭腦的程序員做榜樣,給大家分享他是怎麼規劃函數的,怎麼做維護性代碼的代碼結構改善的。但是發現效果並不佳,其他人並沒有因此能做代碼設計。可能邏輯建模能力是個人的基本素質,是從小到大訓練成型的,不是你一個大學已經幾年的人能夠短時間內可以訓練的。

所以啊,還是讓能走的人先走,讓從最緊要的模塊開始這么做。

不必擔心這樣做後,因為過去一件事被分工(一個做代碼框架一個填肉)成兩個人做了會降低工作效率。我們很多的工作效率低就是因為半瓶子醋搞出來的,來回反復修改。

真是應了劉德華在電影里說的那句話:說你又不聽,聽又聽不懂,聽懂了又不做,做又做不好,做不好還不服氣。

四、為什麼大部分程序員不做代碼測試或白盒測試或單元測試呢?

還是因為沒有代碼設計。因為沒有函數啊。所以,一個按鈕功能有多復雜,代碼就有多長。我見過2000行的函數,我也見過1000多行的存儲過程和視圖SQL。怎麼做白盒測試啊,這些代碼都粘在一起呢,要測,就得從頭到尾都得測。

所以啊,先學會設計函數,先寫好函數,這就求爺爺告奶奶了。很多開發了5年的熟練手程序員,可能都未必會寫函數。

函數的輸入輸出值就很有講究。很多人都寫死了,隨著版本迭代,發現過去定義的函數參數不夠用了,於是就新增了一個參數。然後,相關性異常就爆發了,其他關聯的地方忘改了,到底哪些有關聯,怎麼查啊,本系統沒有,沒准其他系統就調用你了,你根本不知道哪個神經人曾經COPY過你的代碼修吧修吧就改成了他的功能呢,而且裡面的很多代碼他看不懂也不敢刪,只要他實現的功能正常了他也不管了。於是,你改了你這個函數,他的系統就莫名出錯了。

所以,我一般會定義幾個對象來做參數。另外,我也很注重函數的日誌、函數的異常保護、異常拋出、異常返回。另外,我也很注重參數輸入值的合法性校驗。

所以啊,應該開發Leader們先制定函數編寫規范最佳實踐,輸入輸出參數怎麼定義比較好,函數的返回值如何定義比較好,函數的日誌記錄應該怎麼寫比較好,函數的異常保護、異常拋出、異常返回如何寫比較好。先教會一般程序員,先從會寫函數開始啊。

當然,你光有一份規范,程序員們還是不理解、不實際應用啊。所以,還得Leader們做好典型的代碼模板,裡面是符合函數規范的代碼框架,只有這樣,一般程序員們才會照貓畫虎適應了函數設計的編程習慣。

所以啊,我專門重新定義了leader的明確職責,其中第一個重要職責就是:負責工具/框架/模板/規范的制定,並且負責推廣且普及應用落地。

你不明確定義Leader的這個重要職責,你不對這個職責做明確的KPI考核,誰尿你啊。你以為好的工具/框架/模板/規范是靠人們的熱情、自發產生的么?我們還沒有那麼自覺高尚啊。

五、為什麼大部分程序員不寫注釋啊?

我經常說一句話,千萬別多寫注釋。為啥?

因為我們經常遇到的問題不是沒有注釋,而是更糟的是,注釋和事實代碼邏輯是不相符的。這就出現常見問題了:殘存下來的設計文檔是一個邏輯、注釋是一個邏輯說明、真實代碼邏輯又是一個,鍾表多了,你也不知道正確時間了。

所以啊,產品文檔、注釋、真實代碼,三者總是很難一致同步。我為了幾百人研發團隊能做到這個同步花了大量心血和辦法,但我最終也沒解決了這個問題,還把Leader們、總監們、我都搞的精疲力盡。

索性回歸到一切一切的本源,代碼,就是程序員的唯一產出,是最有效的產出。那麼,讓代碼寫的不用注釋也能看懂,咱得奔著這個目的走啊。

為啥看不懂,不就是義大利面條式代碼么,又長又互相交雜。

OK,我就規定了,每個函數不能超過50行。用這一個簡單規定和靜態代碼檢查插件,來逼迫大家嘗試著寫函數。有的函數屬於流程函數,是串起其他函數的,有的函數就是詳細實現函數,實現一個且唯一一個明確作用的。

有了流程函數和功能函數,而且每個函數不超過50行,這就比過去容易看懂了。

六、為什麼大部分程序員不抽象公共函數啊?

我經常說一句話:千萬別抽象公共函數啊。為啥?

因為大部分程序員缺乏抽象洞察能力。特別是有些積極熱情有餘、愛學習愛看書、半瓶子醋晃悠的二桿子,看了幾本UML、重構、設計模式、整潔代碼之道,就躍躍欲試了,還真敢給你抽象公共函數了。

一開始,他覺得80%相似,20%不相似,於是在公共函數裡面簡單寫幾個if..else做個區隔就可以。沒想到,越隨著版本迭代,這些功能漸漸越變越不一樣了,但是這個代碼已經幾經人手了,而且這是一個公共函數,誰也不知道牽扯多少,所以誰也不敢大改,發現問題了就加一個if..else判斷。

沒想到啊沒想到,這個本來當初公共的函數,現在變成了系統最大的毒瘤,最復雜的地方,誰也不敢動,除非實在萬不得已,手起刀落。

所以,我平時告誡程序員,純技術的、純通用的,你們可以嘗試搞搞抽象公共函數,對於業務的,你們還是簡單粗暴的根據Leader們做的代碼模板代碼框架,乖乖的復制、修改、填肉吧。

你們啊,先從做模板做代碼片段開始吧,咱們放到咱們內部代碼片段開源庫里,看誰的代碼片段被別人復制的多,說明你的代碼抽象設計能力越好了。那時候,我就大膽放心讓你撒丫子跑了。在沒有學會跑之前,給老子乖乖的復制、修改、填肉吧。

『捌』 程序員的發展步驟以及所需知識

程序員是一種技術工作,在IT的發展中有相當重要的地位,從底層硬體通訊協議的建立, 到數據傳輸層的處理,到操作系統的建設,到資料庫平台的建設,一直到應用層上各種數 據營銷平台的搭建,程序員在裡面都扮演著舉足輕重的角色並為IT事業的發展做出了巨大 的貢獻。

中國有很多精於編碼的人,但是中國軟體行業,尤其是網路應用開發方面誤區很大,很難形成有規模的軟體開發力量和產品能力,不但比美國差距甚遠,和印度相比也是頗有不如。這些問題不是在於中國程序員的智商和工作努力狀況,也不是在於國家和民間對開發的投入程度,而是很大程度上,有一些對技術,對程序開發,對項目設計方面的思想誤區,這些誤區,導致了軟體行業的產品化能力不足,缺乏規模化和大型復用系統研發能力,可以說,改變認識誤區,是解決軟體行業小作坊模式和個體英雄模式所帶來的局限性 的重要工作。

中國有很多小朋友,他們18,9歲或21,2歲,通過自學也寫了不少代碼,他們有的代碼寫的很漂亮,一些技術細節相當出眾,也很有鑽研精神,但是他們被一些錯誤的認識和觀點左右,缺乏對系統,對程序的整體理解能力,這些人,一個網上的朋友說得很好,他們實際 上只是一些Coding fans,壓根沒有資格稱為程序員,但是據我所知,不少小網路公司的 CTO就是這樣的coding fans,拿著嚇人的工資,做著嚇人的項目,項目的結局通常也很嚇 人。

程序員基本素質:

作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具 有的素質。

1:團隊精神和協作能力

把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟體發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺 乏這種素質的人就完全不合格了。

2:文檔習慣

說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中 非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級 程序員和系統分析員,這個比例還要高很多。

缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。

3:規范化,標准化的代碼編寫習慣

作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮 進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和 糾錯,也有助於不同技術人員之間的協作。

有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自 己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。

再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可 想像的。

4:需求理解能力

程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經 驗才有可能有心得。

5:復用性,模塊化思維能力

經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫 一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成 了熟練程序員的主要工作,而這些,其實是完全可以避免的。

復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投 入到創新的代碼工作中去。

一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊 都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重 寫,大部分重復性工作無謂的浪費了時間和精力。

程序員應具備的素質中

6:測試習慣

作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是並不是說有了專職的測試工程師程序員就可以不進行自測;軟體研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效 率和可靠性就有了最大的保證。

測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務,實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻發的異常請求阻塞資源時的模塊穩定測試等等。當然並不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和各種性能需求,有針對性的進行相關測試並盡早發現和解決問題,當然這需要上面提到的 需求理解能力。

7:學習和總結的能力

程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有 領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。

善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高 了。

但是學習也要找對目標,一些小coding fans們,他們也津津樂道於他們的學習能力,一會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。

善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。

一個不具備成長性的程序員,即便眼前看是個高手,建議也不要選用,因為他落伍的時候 馬上就到了。

具備以上全部素質的人,應當說是夠格的程序員了,請注意以上的各種素質都不是由IQ決 定的,也不是大學某些課本里可以學習到的,需要的僅僅是程序員對自己工作的認識,是 一種意識上的問題。

那麼作為高級程序員,以至於系統分析員,也就是對於一個程序項目的設計者而言,除了 應該具備上述全部素質之外,還需要具備以下素質:

第一,需求分析能力

對於程序員而言,理解需求就可以完成合格的代碼,但是對於研發項目的組織和管理者, 他們不但要理解客戶需求,更多時候還要自行制定一些需求,為什麼這么說呢?

一般而言,進行研發任務,也許是客戶提出需求,也許是市場和營銷部門提出的需求,這時候對於研發部門,他們看到的不是一個完整的需求,通常而言,該需求僅僅是一些功能上的要求,或者更正規些,可能獲得一個完整的用戶視圖;但是這都不夠,因為客戶由於非技術因素多一些,他們可能很難提出完整和清晰,或者說專業性的性能需求,但是對於項目組織者和規劃者,他必須能夠清醒認識到這些需求的存在並在完成需求分析報告的時候適當的提出,同時要完整和清晰的體現在設計說明書裡面,以便於程序員編碼時不會失 去這些准則。

程序設計者必須正確理解用戶需求所處的環境,並針對性做出需求的分析,舉例而言,同樣一個軟體通過ASP租用方式發布和通過License方式發布,性能需求可能就是有區別的,前者強調的是更好的支撐能力和穩定性,而後者則可能更強調在各種平台下的普適性和安 裝使用的簡捷性。

第二,項目設計方法和流程處理能力

程序設計者必須能夠掌握不少於兩到三種的項目設計方法(比如自頂至下的設計方法,比 如快速原型法等等),並能夠根據項目需求和資源搭配來選擇合適的設計方法進行項目的 整體設計。

設計方法上選擇不當,就會耽誤研發周期,浪費研發資源,甚至影響研發效果。

一個程序設計者還需要把很多功夫用在流程圖的設計和處理上,他需要做數據流圖以確立 數據詞典;他需要加工邏輯流圖以形成整體的系統處理流程。

一個流程有問題的系統,就算代碼多漂亮,每個模塊多精緻,也不會成為一個好的系統。 當然,做好流程分析並選擇好項目設計方法,都需要在需求分析能力上具有足夠的把 握。

第三,復用設計和模塊化分解能力

這個似乎又是老調重談,前面基本素質上不是已經說明了這個問題嗎?

作為一個從事模塊任務的程序員,他需要對他所面對的特定功能模塊的復用性進行考慮,而作為一個系統分析人員,他要面對的問題復雜的多,需要對整體系統按照一種模塊化的分析能力分解為很多可復用的功能模塊和函數,並針對每一模塊形成一個獨立的設計需求。舉個例子,好比是汽車生產,最早每輛汽車都是獨立安裝的,每個部件都是量身定做的,但是後來不一樣了,機器化大生產了,一個汽車廠開始通過流水線來生產汽車,獨立部件開始具有一定的復用性,在後來標准化成為大趨勢,不同型號,品牌甚至不同廠商的汽車部件也可以進行方便的換裝和升級,這時候,汽車生產的效率達到最大化。軟體工程也是同樣的道理,一個成熟的軟體行業,在一些相關項目和系統中,不同的部件是可以隨意換裝的,比如微軟的許多桌面軟體,在很多操作模塊(如打開文件,保存文件等等)都是復用的同一套功能模塊,而這些介面又通過一些類庫提供給了桌面應用程序開發者方便 掛接,這就是復用化的模塊設計明顯的一個佐證。

將一個大型的,錯綜復雜的應用系統分解成一些相對獨立的,具有高度復用性的,並能僅 僅依靠幾個參數完成數據聯系的模塊組合,是作為高級程序員和系統分析員一項最重要的 工作,合適的項目設計方法,清晰的流程圖,是實現這一目標的重要保證。

第四,整體項目評估能力

作為系統設計人員,必須能夠從全局出發,對項目又整體的清醒認識,比如公司的資源配置是否合理和到位,比如工程進度安排是否能最大化體現效率又不至於無法按期完成。評估項目整體和各個模塊的工作量,評估項目所需的資源,評估項目可能遇到的困難,都需要大量的經驗積累,換言之,這是一種不斷總結的累計才能達到的境界。在西方一些軟體系統設計的帶頭人都是很年長的,比如4,50歲,甚至更老,他們在編碼方面已經遠遠不如年輕人那樣活絡,但是就項目評估而言,他們幾十年的經驗積累就是最重要和寶貴的財富。中國缺這么一代程序員,主要還不是缺那種年紀的程序員,而是那種年紀的程序員基本上都是研究單位作出來的,都不是從專業的產品化軟體研發作出來的,他們沒有能積累 那種產品化研發的經驗,這也是沒有辦法的事情。

程序員應具備的素質下

第五,團隊組織管理能力

完成一個項目工程,需要團隊的齊心協力,作為項目設計者或研發的主管人,就應當有能 力最大化發揮團隊的整體力量,技術管理由於其專業性質,不大同於一般的人事管理,因 為這裡面設計了一些技術性的指標和因素。

首先是工作的量化,沒有量化就很難做到合適的績效考核,而程序量化又不是簡單的代碼 行數可以計算的,因此要求技術管理人員需要能真正評估一個模塊的復雜性和工作量。

其次是對團隊協作模式的調整,一般而言,程序開發的協作通常分為小組進行,小組有主 程序員方式的,也有民主方式的,根據程序員之間的能力水平差距,以及根據項目研發的 需求,選擇合適的組隊方式,並能將責權和成員的工作任務緊密結合,這樣才能最大發揮 組隊的效率。

一個代碼水平高的人,未必能成為一個合格的項目研發主管,這方面的能力欠缺往往是容 易被忽視的。

綜上可以看到,作為一個主管研發的負責人,一個項目設計者,所需要具備的素質和能力並不是程序代碼編寫的能力,當然一般情況下,一個程序員通過不斷的總結提高達到了這種素質的時候,他所具有的代碼編寫能力也已經相當不簡單了,但是請注意這裡面的因果關系,一個高水平的項目設計者通常已經是代碼編寫相當優秀的人了,但是並不是一個代碼相當優秀的程序員就可以勝任項目設計的工作,這裡面存在的也不是智商和課本的問題,還是在於一個程序員在積累經驗,逐步提升的時候沒有意識到應當思考哪方面的東西,沒有有意識的就項目的組織和復用設計進行揣摩,沒有經常性的文檔習慣和總結習 慣,不改變這些,我們的合格的項目設計者還是非常欠缺。

另外,為防止有無聊的人和我較真,補充一點,本文針對目標是作商業化的軟體項目和工程,那些科研機構的編程高手,比如演算法高手,比如圖象處理高手,他們的工作是研究課題而非直接完成商業軟體(當然最終間接成為商業產品,比如微軟研究院在作的研究課題),因此他們強調的素質可能是另外的東西,這些人(專家),並不能說是程序員,不 能用程序員的標准去衡量。

最後補充一點東西,一個軟體項目研發的設計流程是怎樣的呢?以通常標準的設計方法為 例,(不過筆者喜歡快速原型法)。

第一個步驟是市場調研,技術和市場要結合才能體現最大價值。

第二個步驟是需求分析,這個階段需要出三樣東西,用戶視圖,數據詞典和用戶操作手 冊。

用戶視圖是該軟體用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這裡麵包含了 很多操作方面的流程和條件。

數據詞典是指明數據邏輯關系並加以整理的東東,完成了數據詞典,資料庫的設計就完成 了一半多。

用戶操作手冊是指明了操作流程的說明書。

請注意,用戶操作流程和用戶視圖是由需求決定的,因此應該在軟體設計之前完成,完成 這些,就為程序研發提供了約束和准繩,很遺憾太多公司都不是這樣做的,因果顛倒,順 序不分,開發工作和實際需求往往因此產生隔閡脫節的現象。

需求分析,除了以上工作,筆者以為作為項目設計者應當完整的做出項目的性能需求說明 書,因為往往性能需求只有懂技術的人才可能理解,這就需要技術專家和需求方(客戶或 公司市場部門)能夠有真正的溝通和了解。

第三個步驟是概要設計,將系統功能模塊初步劃分,並給出合理的研發流程和資源要求。作為快速原型設計方法,完成概要設計就可以進入編碼階段了,通常採用這種方法是因為涉及的研發任務屬於新領域,技術主管人員一上來無法給出明確的詳細設計說明書,但是並不是說詳細設計說明書不重要,事實上快速原型法在完成原型代碼後,根據評測結果和 經驗教訓的總結,還要重新進行詳細設計的步驟。

第四個步驟是詳細設計,這是考驗技術專家設計思維的重要關卡,詳細設計說明書應當把具體的模塊以最』干凈』的方式(黑箱結構)提供給編碼者,使得系統整體模塊化達到最大;一份好的詳細設計說明書,可以使編碼的復雜性減低到最低,實際上,嚴格的講詳細設計說明書應當把每個函數的每個參數的定義都精精細細的提供出來,從需求分析到概要設計到完成詳細設計說明書,一個軟體項目就應當說完成了一半了。換言之,一個大型軟 件系統在完成了一半的時候,其實還沒有開始一行代碼工作。

那些把作軟體的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。

第五個步驟是編碼,在規范化的研發流程中,編碼工作在整個項目流程里最多不會超過1/ 2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提高,編碼時不同模塊之間的進度協調和協作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發過程中都出現過。編碼時的相互溝通和應急的解決手段都是相當重要的,對於程序員而言,bug永遠存在,你必須永遠面對這個問題,大名鼎鼎的微軟,可曾有連續三個月不發補丁的時候 嗎?從來沒有!

第六個步驟是測試

測試有很多種:

按照測試執行方,可以分為內部測試和外部測試

按照測試范圍,可以分為模塊測試和整體聯調

按照測試條件,可以分為正常操作情況測試和異常情況測試

按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試

以上都很好理解,不再解釋。

總之,測試同樣是項目研發中一個相當重要的步驟,對於一個大型軟體,3個月到1年的外 部測試都是正常的,因為永遠都會又不可預料的問題存在。

完成測試後,完成驗收並完成最後的一些幫助文檔,整體項目才算告一段落,當然日後少 不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟體的運營 狀況並持續修補升級,知道這個軟體被徹底淘汰為止。

寫這些步驟算不上賣弄什麼,因為實話講我手邊是一本《軟體工程》,在大學里這是計算機專業的必修課程,但是我知道很多程序員似乎從來都只是熱衷於什麼《30天精通VC》之類的,他們有些和我一樣游擊隊出身,沒有正規學過這個專業,還有一些則早就在混夠學 分後就把這些真正有用的東西還給了老師。

網上現在也很浮躁,一些coding fans亂嚷嚷,混淆視聽,實際上真正的技術專家很少在網上亂發帖子的,如筆者這樣不知天高地厚的,其實實在是算不上什麼高手,只不過看不慣這種對技術,對程序員的誤解和胡說,只好挺身而出,做撥亂反正之言,也希望那些還 沉迷於一些錯誤人士的coding fans們能認真想想,走到正途上,畢竟那些聰明的頭腦還 遠遠沒有發揮應有的價值。

閱讀全文

與程序員升級步驟相關的資料

熱點內容
伺服器磁碟滿了文件刪不掉該如何處理 瀏覽:847
壓縮彈簧展開長度 瀏覽:509
如何共享國外app 瀏覽:687
淘寶app如何掃描圖片 瀏覽:594
反編譯作業幫 瀏覽:856
釘釘打卡伺服器過什麼意思 瀏覽:139
鏤空加密隔斷牆效果圖 瀏覽:539
windows7怎麼安裝證書伺服器 瀏覽:952
證券業務的程序員 瀏覽:202
u點伺服器wifi密碼如何設置 瀏覽:864
寶馬x5大燈編程 瀏覽:673
python安裝和使用 瀏覽:381
加密的門禁卡復制了用不了 瀏覽:714
javacsv讀寫 瀏覽:806
ug編程教程pdf 瀏覽:763
latex編譯軟體安卓版 瀏覽:248
如何在信合app上交居民醫保 瀏覽:109
丑惡pdf 瀏覽:365
陝西定頻壓縮機銷售公司 瀏覽:795
安卓系統如何幫人打王者 瀏覽:427