當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]開發(fā)人員需要知道的東西雜談

    鑒于經(jīng)常看到很多傻傻的問題,比如xx語言干什么用的,xxx語言是不是落伍了?(不過說實(shí)在的,這些問題初學(xué)者都會有.) 我在這里說說開發(fā)人員應(yīng)該知道的一些東西。但是這些只是我在平日里看到和想到的。難免有所偏差,請見諒.

    軟件開發(fā),是一個綜合性的活計(jì)。軟件開發(fā),并不僅僅是編寫代碼.學(xué)會了用c這些編程語言進(jìn)行編程只是第一步,一個最最基本要求。其他要的東西還多著呢。在我看來,程序員大致可以分為兩類.當(dāng)一個工作任務(wù)分配到程序員身上時(shí),一種程序員知道為什么要這樣去做.另外一種則知道怎么去做完這個工作.
而這個區(qū)別就大了.如果你知道為什么要這樣去實(shí)現(xiàn),這個至少說明你能把握住你的任務(wù)在軟件工程里面的位置.如果你只是僅僅知道怎么去完成他.那只是說明你能做完這個工作而已.想做好就不一定能行了.而第一種程序員一定能做好.做的最優(yōu).看看下面的條條,希望對大家都有所幫助.

第一要說的,編程的關(guān)鍵是什么?


    編程不是實(shí)現(xiàn)了代碼就可以了.引用我的友人的一句話,“編程講究是一個整體的平衡性?!?
對于這個他是這樣解釋的?!捌胶庑裕擒浖暮苤匾牟糠?,從平衡性的角度去考慮編程,就會抑制你想要用最新技術(shù),最新系統(tǒng)等等一些想法。因?yàn)閺钠胶庑缘慕嵌瓤紤],只要你的軟件有一個瓶頸出現(xiàn),你的程序就是失敗。你首先要考慮的是怎么消除程序中可能存在的一些瓶頸。在這個基礎(chǔ)上你才有權(quán)利去考慮提高你程序的性能”.就算你擁有最新的技術(shù),最好系統(tǒng),如果你的代碼不行。只要你的程序有性能瓶頸存在,等于什么都沒有做。

    在這里我想說的就是程序是人寫的。如果你的水平不行,再好的現(xiàn)成的技術(shù)也是用不起來的。就算用起來了,你可能沒有辦法說清楚,為什么這樣用?

第二要說的,怎么編程?

    我想很多人看到這個問題,一定會在心里把我罵的體無完膚的。心想這小子活膩了。罵也無妨。暫且聽我說。我說的怎么編程不是要說怎么寫詳細(xì)的代碼,而是你的程序最終是怎么形成的。我想寫到這里又有人把我給陵遲了一次了。但實(shí)際上編寫代碼是在軟件的生產(chǎn)過程中占有時(shí)間比較少的一塊。

我個人覺得要包含以下的幾個部分:

1。市場潛力分析 分析你要寫的軟件能不能賣出去,或者說我要編寫什么樣的軟件?

2。同類產(chǎn)品競爭分析 看看你的同類產(chǎn)品的優(yōu)缺點(diǎn),設(shè)計(jì)你的軟件的賣點(diǎn).(如果沒有賣點(diǎn),就沒有必要繼續(xù)了)
3。軟件設(shè)計(jì) 寫出詳細(xì)的軟件流程,數(shù)據(jù)流程。主要算法。軟件架構(gòu)等

4。編寫代碼 不用說了吧

5。bug測試和試運(yùn)行

6。賣

    這些事,有的是市場的事,有的是系統(tǒng)分析員的事,還有的是編程的事。但是在很多小公司,本著小公司事必親恭的辦事原則。大家多了解一點(diǎn)是不會有錯的。

    舉個具體的例子來說。假如我要編寫一個共享軟件。我要怎么做呢?

1。要好好想想我要寫的軟件有沒有“錢”途。時(shí)間在15天-30天左右。在這段時(shí)間里面一定要好好的做一下市場考察.這個可是最關(guān)鍵的一步.

2。好,我已經(jīng)決定要寫xxx軟件了。

3。在網(wǎng)上找?guī)讉€對xxx最有威脅的同類軟件,分析它們優(yōu)缺點(diǎn)。要它們的優(yōu)點(diǎn),不要他們的缺點(diǎn)。設(shè)計(jì)出自己軟件的賣點(diǎn).

4。根據(jù)前面分析的結(jié)果,大概的列出xxx軟件應(yīng)該具有的功能表

5。寫出1.0版的基本功能表,寫出1.x的功能表。不要一次就做完全部的功能,這樣的話,你的軟件永遠(yuǎn)都沒有出世的機(jī)會 

6。選擇編程語言 (看看,編程語言到這里才出來)

7。上網(wǎng)找類似的源代碼,算法。RFC標(biāo)準(zhǔn)文檔。吃透.軟件代碼和算法的良好重用,會讓你事半功倍的.

8。根據(jù)你選定語言,算法,標(biāo)準(zhǔn)文檔,寫出xxx的詳細(xì)設(shè)計(jì)文檔。文檔一定要用,不然你的計(jì)劃性就不強(qiáng).計(jì)劃性不強(qiáng),隨意性就大.隨意性大了,軟件很容易失敗的.

9。按照設(shè)計(jì)文檔編寫代碼

10。測試和賣

第三,哪里有資料,標(biāo)準(zhǔn)文檔

    代碼的世界是千變?nèi)f化的, 在開始一個新的項(xiàng)目之前,完全可以找一個類似功能的代碼來看看。這樣可以更好的改進(jìn)你的程序。有時(shí)還可以加快進(jìn)度。還有當(dāng)新的技術(shù)出來時(shí),你要看看相關(guān)的文檔。雖然不要完全了解它的功能,好處。但是你至少要知道新的技術(shù)能用在什么地方。怎么用。配合什么其他的技術(shù)用能更好的發(fā)揮它的作用。編寫軟件不是全部的東西都是自己寫的。有很多的功能是一種標(biāo)準(zhǔn),也許是標(biāo)準(zhǔn)算法。像圖形的,多媒體的,加密解密的算法。有的是一個標(biāo)準(zhǔn)的文件格式,像各種圖像文件,多媒體文件。還有的是一種標(biāo)準(zhǔn)的約定。像email,telnet等常見的網(wǎng)絡(luò)工具。

所以你要知道你可以從哪里找你要的資料。我把我知道的都寫在這里

源代碼和技術(shù)資料站點(diǎn)
www.vchelp.net gb
www.csdn.net gb
www.codeguru.com en
www.codetools.com en
www.dexv.com en
msdn.microsoft.com en
www.programmerheaven.com en
www.freshmeat.net en
www.sourceforge.net en
www-900.ibm.com/developerWorks/ gb
論壇和標(biāo)準(zhǔn),組織
www.linuxaid.com.cn gb
www.linuxbyte.com gb
www.aka.org.cn gb
www.rfc.org en gb
各種maillist,irc

第四,要掌握的工具和知識

    工具,可以讓你的工作更加的有效率和不易出錯。

    下面的工具也許你用過,也許你沒有用過。不過沒有關(guān)系的。同行的老鳥會教我們怎么用的。(我想到哪個就寫哪個。沒有順序問題)

1。數(shù)據(jù)庫工具 建數(shù)據(jù)庫工具,代表 powerdesigner 數(shù)據(jù)庫分析工具。很多大型的數(shù)據(jù)庫都會帶的。

2。流程圖設(shè)計(jì) 代表 visio 2000 , smartdraw

3。case工具 代表 rose

4。代碼分析工具 代表 bounderchecker(for vc delphi),smartcheck(for vb) ....

5。編輯器 代表 vi,vic,Ultra Edit

6。源代碼管理 代表 vss ,cvs

7。編程工具,不要我多說了吧

8。其他的,我沒有用過的,但是也許在某個行業(yè)用的很多的工具。(廢話 :))

    知識的話,因?yàn)槊恳粋€人的發(fā)展方向不一樣,所以大部分人的知識結(jié)構(gòu)都不一樣。但是有幾點(diǎn)應(yīng)該是一樣的。

1。英語能力
主要的新的技術(shù),文檔資料都是用英語來作為首發(fā)的。如果要學(xué)到更好更新的知識,技巧。不懂點(diǎn)英語也是不行的。也不要指望有人給你翻譯出來。一般來說,這些資料,看的懂的人不需要翻譯,看不懂的人沒有辦法翻譯。半懂不懂的人翻譯出來的文章我想你也不敢看。所以大部分的資料還是英語原文的。當(dāng)然也有很多的人在翻譯這些文章,但是對于這么多的資料來說,翻譯過來的只是很小很小的一部分。求人不如求己。多學(xué)點(diǎn)英語沒有錯的。

2。設(shè)計(jì)能力
雖然一般來說,正規(guī)的公司有系統(tǒng)分析員做設(shè)計(jì)(我猜的)。但是70%-80%的小公司,可就不一定了。知道一點(diǎn)軟件工程的知識,知道一些文檔設(shè)計(jì)工具怎么用?;蛘咧缿?yīng)該有哪些設(shè)計(jì)文檔。也是很有好處的。比較這些東西如果你學(xué)到了,就是你自己的了。而且這些可是加工資的好東西。很有錢途的。:)

3。語文寫作能力
作為一個程序員,大部分時(shí)間是都是在寫代碼。但是代碼的注釋,各種文檔,測試報(bào)告,說明文檔,使用手冊編寫,這些都需要文字功底的。 還有用email,bbs,qq這些工具與人交流的時(shí)候,如果話都說不清楚,那交流就更談不上了。水平提高進(jìn)步也就有點(diǎn)問題了。

4。學(xué)習(xí)能力
沒有幾個人是全部學(xué)會了再去工作的。這個不是很現(xiàn)實(shí)。目前社會也不太允許這樣做。一邊工作一邊學(xué)習(xí)是很常見的。也許很多人是在工作之中才學(xué)會做某些事情的。很多技能也是這樣會的。此外,很多新的項(xiàng)目的到來。很新的技術(shù)的到來都要求我們能適應(yīng)新的工作環(huán)境,新的工作要求。如果沒有好好的學(xué)習(xí)是很容易被一個項(xiàng)目踢掉的。呵呵。
另外有一點(diǎn),當(dāng)上司讓你做你不會的東西時(shí),你要告訴他,你不會,但是會在XX天內(nèi)把他搞定。不會沒有關(guān)系,會學(xué)習(xí)也是會上進(jìn)的一種好表現(xiàn)。

5。知道自己要做什么,要學(xué)什么,要發(fā)展什么。

    世界上軟件技術(shù)是多的像9個牛上的毛一樣多,也許還要多很多。如果我們什么都要知道。哦,天哪,我不想活了。

    作為一個軟件人員也好,作為一個初學(xué)者也好。知道自己要往那個方向走是很重要的。不然很容易的就餓死在軟件技術(shù)迷宮里的。最后只好不干這一行了。這個可不太好。
一般來說,作為一個軟件人員,掌握一到兩個語言的開發(fā)能力就可以了。另外除非你是想做軟件技術(shù)的研發(fā)(這些工作最有錢,在大型的公司是最受歡迎)。如果不是做軟件技術(shù)的研發(fā),只是一般的應(yīng)用程序編寫的話,不用太關(guān)注今天出來什么新的技術(shù),明天又出來什么新的技術(shù)。這些東西只要知道就行了。知道有這么回事就可以了。以后有用的到的地方再去認(rèn)真的關(guān)注也是不遲的。自己選擇一個發(fā)展的方向,努力的向前走。不要被各種各樣的新技術(shù)誘惑過去。說句實(shí)話,很多的所謂新技術(shù)的怎么怎么好,怎么怎么優(yōu)異,很多時(shí)候都是有商業(yè)行為在里面的。要自己會判斷才行。如果不能判斷怎么辦,看下面的一條。

第六:知道的更多


    很多初學(xué)者最麻煩的事是怎么在這么多的軟件技術(shù)里面選擇一種又好學(xué),又有前途(錢途),又能做點(diǎn)什么偉大的事情的技術(shù)來開拓軟件開發(fā)這個他們未知的領(lǐng)域。對于這個麻煩的問題,很少有解。如果你能遇到一個很好的老師,那就是你的福氣,千萬要抓住這個機(jī)會。如果你不得不一人做出這個決定,那只能是小心翼翼地來了。不過一般來說學(xué)c和c++都是一個不錯的選擇。

    初學(xué)者的另外一個麻煩的問題是,當(dāng)我選擇之后,在學(xué)習(xí)過程中出現(xiàn)的很多這個和那個的新技術(shù),新的變化。我該怎么辦。這個也基本無解。只能是你自己慢慢慢慢積累。積累到你能理解這些新技術(shù)的出現(xiàn)是為了什么,這些新變化的發(fā)生是為知道的更多 ......,這些新變化的發(fā)生是為了什么之后。你就會不怕這些的新的東西。

    我一向堅(jiān)持,如果我知道的更多,我的力量就會更大。我就更不會怕出現(xiàn)變化。如果因?yàn)槟愕男畔⒉蛔?,而無法對某件事情進(jìn)行判斷時(shí),千萬不要強(qiáng)行進(jìn)行判斷。對你沒有好處的。


作者 :很土  V1.1完成時(shí)間 10:51 2002-4-22 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉