百拜嘟嘟
第一、工程師不寫黑箱程序
“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,這個著名的公式大家都知道。不幸的是,它不適合描述工程領(lǐng)域或者現(xiàn)實(shí)世界的程序。有很多程序,數(shù)據(jù)結(jié)構(gòu)和算法都寫得很棒,功能足夠 強(qiáng)大,系統(tǒng)足夠復(fù)雜,但是——它很難調(diào)試,一跑起來就無法停止,而且誰也不知道程序現(xiàn)在到底在干什么,里面發(fā)生了什么。
第二、工程師注意實(shí)現(xiàn)和接口分離
Java面試的一道經(jīng)典問題是:請描述抽象類和接口的區(qū)別。通常,大家都會知道“接口”和“實(shí)現(xiàn)”要分離。不幸的是,很多人理解的“接口”,只是狹義的特定語言提供的Interface,而沒有考慮“接口”真正的含義。
第三、工程師注重功能的邏輯聯(lián)系
很多系統(tǒng)都在不斷的變化和改進(jìn)過程中,程序員看到的是功能點(diǎn),工程師看到的是功能點(diǎn)之上的邏輯。
任何系統(tǒng)當(dāng)然都是由若干功能構(gòu)成的。但在功能點(diǎn)之上,還需要一張有邏輯意義的大網(wǎng),才能把功能點(diǎn)組合起來,把復(fù)雜度降低,成為大家能理解的對象。最簡單的“登錄”,就包含數(shù)據(jù)輸入、數(shù)據(jù)驗(yàn)證、登錄信息記錄等等功能,“登錄”是這些功能的邏輯集合,也是理解這些功能的基礎(chǔ)。
家軍小太郎
程序員和軟件工程師的區(qū)別是:軟件工程師不但要有編寫程序代碼的能力而且更重要的是要懂得如何去開發(fā)一個軟件,怎樣去學(xué)習(xí)實(shí)際的UI的觀念。就是工廠里面技術(shù)員和工程師的區(qū)別。技術(shù)員是熟練工人,工程師是設(shè)計(jì)者。
格水物獺致知
軟件工程師和程序員區(qū)別主要表現(xiàn)在以下幾方面:1、概念不同:軟件設(shè)計(jì)師是指能根據(jù)軟件開發(fā)項(xiàng)目管理和軟件工程的要求,按照系統(tǒng)總體設(shè)計(jì)規(guī)格說明書進(jìn)行軟件設(shè)計(jì),編寫程序設(shè)計(jì)規(guī)格說明書等相應(yīng)的文檔的實(shí)用性人才;而程序員指的是從事程序開發(fā)、程序維護(hù)的基層工作人員。2、工作職責(zé)不同:軟件設(shè)計(jì)師主要職責(zé)是組織和指導(dǎo)程序員編寫、調(diào)試程序,并時軟件進(jìn)行優(yōu)化和集成測試,開發(fā)出符合系統(tǒng)總體設(shè)計(jì)要求的高質(zhì)量軟件;而程序員主要負(fù)責(zé)軟件項(xiàng)目的詳細(xì)設(shè)計(jì)、編碼和內(nèi)部測試的組織實(shí)施,對小型稱件項(xiàng)目兼任系統(tǒng)分析工作,完成分配項(xiàng)目的實(shí)施和技術(shù)支持工作。3、擁有一定的編程能力的都能稱為程序員,不需要考證;而軟件設(shè)計(jì)師需要通過計(jì)算機(jī)軟件資格考試的中級考試。
優(yōu)質(zhì)工程師考試問答知識庫