chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員和工程師的不同

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-07-19 17:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我剛剛工作的時(shí)候,面試官曾經(jīng)跟我說(shuō):好好干兩年,可以迅速?gòu)?a href="http://www.brongaenegriffin.com/v/tag/1730/" target="_blank">程序員成長(zhǎng)為工程師。當(dāng)時(shí)我覺(jué)得太詫異了,從很多招聘啟事來(lái)看,“程序員”不就等于 “工程師”嗎,只是“工程師”更好聽(tīng)一些而已。等我工作久了,才知道“程序員”和“工程師”真的是不一樣的——程序員只寫(xiě)程序,工程師寫(xiě)能在現(xiàn)實(shí)世界中創(chuàng) 造價(jià)值的程序。

可惜,很多軟件開(kāi)發(fā)人員未必清楚兩者的差別,甚至做了很久也只算程序員而不算嚴(yán)格意義上的工程師。所以我就自己的觀察和經(jīng)驗(yàn),談?wù)劤绦騿T和工程師的差別。

第一、工程師不寫(xiě)黑箱程序

“程 序=數(shù)據(jù)結(jié)構(gòu)+算法”,這個(gè)著名的公式大家都知道,不幸的是,它不適合描述工程領(lǐng)域或者現(xiàn)實(shí)世界的程序。有很多程序,數(shù)據(jù)結(jié)構(gòu)和算法都寫(xiě)得很棒,功能足夠 強(qiáng)大,系統(tǒng)足夠復(fù)雜,但是——它很難調(diào)試,一跑起來(lái)就無(wú)法停止,而且誰(shuí)也不知道程序現(xiàn)在到底在干什么,里面發(fā)生了什么。

別覺(jué)得好笑,我遇到過(guò)很多工作三四年甚至五六年的開(kāi)發(fā)人員,仍然不停地生產(chǎn)黑箱程序:出現(xiàn)問(wèn)題的第一反應(yīng)是直接殺掉進(jìn)程重啟(天哪你們的程序不能安全關(guān)閉嗎)。當(dāng)然還有更生猛的,直接用開(kāi)發(fā)機(jī)連上生產(chǎn)數(shù)據(jù)庫(kù)(防火墻上開(kāi)個(gè)洞)去調(diào)試。

你說(shuō)他們技術(shù)不好嗎?明明各種技術(shù)問(wèn)題也能搞定。你說(shuō)他們沒(méi)有系統(tǒng)意識(shí)?做過(guò)的程序也不簡(jiǎn)單。但是,他們做的充其量只能叫“程序”,而不是工程上成熟的“系統(tǒng)”。

怎樣的程序不是黑箱?你需要考慮它的層次劃分,你需要考慮哪些(功能之外的)運(yùn)行信息必須暴露和記錄,以什么方式暴露記錄,你甚至還需要考慮這些暴露和記錄對(duì)性能的影響,以及程序需要對(duì)外提供什么操縱接口……當(dāng)你把這一切都考慮清楚,寫(xiě)出能夠讓運(yùn)行細(xì)節(jié)“盡在掌握中”的程序的時(shí)候,你的一條腿就邁進(jìn)了“工程”的大門(mén)。

這 方面,互聯(lián)網(wǎng)和軟件開(kāi)發(fā)的大廠會(huì)更加關(guān)注一些,但也不是說(shuō)個(gè)人就毫無(wú)追求的空間了。網(wǎng)絡(luò)爬蟲(chóng)大家都會(huì)寫(xiě),大家也都知道如果要數(shù)據(jù)抓得準(zhǔn),調(diào)試起來(lái)很麻煩。 我有個(gè)朋友在某大廠寫(xiě)過(guò)一套“可視化”的爬蟲(chóng),可以用逐步操縱語(yǔ)句的執(zhí)行,迅速定位問(wèn)題所在。這種水平的工程師,屬于可遇而不可求的類(lèi)型,每次說(shuō)起來(lái)大家 仍然嘖嘖稱(chēng)贊。

第二、工程師注意實(shí)現(xiàn)和接口分離

Java面試的一道經(jīng)典問(wèn)題是:請(qǐng)描述抽象類(lèi)和接口的區(qū)別。通常,大家都會(huì)知道“接口”和“實(shí)現(xiàn)”要分離。不幸的是,很多人理解的“接口”,只是狹義的特定語(yǔ)言提供的Interface,而沒(méi)有考慮“接口”真正的含義。

接口的真正含義是什么?計(jì)算機(jī)最擅長(zhǎng)處理的是信息,它可以讓信息脫離現(xiàn)實(shí)的障礙高速流動(dòng)起來(lái)。如果說(shuō)“實(shí)現(xiàn)”是干臟活累活,“接口”就是發(fā)出干臟活累活指令的窗口。臟活累活干一遍就足夠了,但發(fā)指令的窗口卻可以有千千萬(wàn)萬(wàn)。

更 具體一點(diǎn)說(shuō),完成功能的是程序員,完成功能并且設(shè)想它會(huì)在什么情況下使用,并且讓人方便使用的,是工程師。我見(jiàn)過(guò)不少這樣的程序:登錄會(huì)話(huà)一開(kāi)始放在本地 內(nèi)存里沒(méi)問(wèn)題,到了要切換到數(shù)據(jù)庫(kù)里方便會(huì)話(huà)轉(zhuǎn)移就得大興土木,雖然要做的其實(shí)仍然只是存取而已;程序自動(dòng)加載的數(shù)據(jù)出了問(wèn)題,就根本不能手動(dòng)加載;以前 手動(dòng)加載的數(shù)據(jù),改成自動(dòng)加載就要推倒重來(lái)……

有沒(méi)有接口意識(shí),能不能真正區(qū)分接口和實(shí)現(xiàn),這是區(qū)分程序員和工程師的一大標(biāo)識(shí)。

第三、工程師注重功能的邏輯聯(lián)系

很多系統(tǒng)都在不斷的變化和改進(jìn)過(guò)程中,程序員看到的是功能點(diǎn),工程師看到的是功能點(diǎn)之上的邏輯。

任何系統(tǒng)當(dāng)然都是由若干功能構(gòu)成的。但在功能點(diǎn)之上,還需要一張有邏輯意義的大網(wǎng),才能把功能點(diǎn)組合起來(lái),把復(fù)雜度降低,成為大家能理解的對(duì)象。最簡(jiǎn)單的“登錄”,就包含數(shù)據(jù)輸入、數(shù)據(jù)驗(yàn)證、登錄信息記錄等等功能,“登錄”是這些功能的邏輯集合,也是理解這些功能的基礎(chǔ)。

隨著時(shí)間的推移,業(yè)務(wù)的增長(zhǎng),新功能可能越來(lái)越多,比如用戶(hù)數(shù)據(jù)的加載,對(duì)好友的通知,廣告的推送準(zhǔn)備等等。這些功能實(shí)現(xiàn)起來(lái)當(dāng)然都容易(因?yàn)楹芫唧w),但功能堆積的后果是復(fù)雜度急劇上升,因?yàn)楣δ苤g的邏輯聯(lián)系被切斷了。所以,工程師必然需要思考,這些功能應(yīng)該怎么組合,放到哪些具有邏輯意義的動(dòng)作——比如“登錄”里去?正是經(jīng)過(guò)這樣持續(xù)不斷的思考,系統(tǒng)的復(fù)雜度才能夠被一直維持在較低的水平,容易讓大家理解。

這 個(gè)例子看起來(lái)很簡(jiǎn)單,但做起來(lái)卻沒(méi)那么容易。我有時(shí)看到復(fù)雜的系統(tǒng)操作手冊(cè),簡(jiǎn)直讓人哭笑不得:1) 點(diǎn)這里;2) 點(diǎn)那里;3) 輸這個(gè)…… 這些操作對(duì)應(yīng)的邏輯意義那么準(zhǔn)確,分明就該是一次性自動(dòng)完成的啊,把它們割裂開(kāi)來(lái)的后果大大提高了系統(tǒng)的復(fù)雜度,既不方便維護(hù),也不方便操作。最后來(lái)擦屁 股的,只能是開(kāi)發(fā)人員自己。

我經(jīng)常反思自己接受的教育,在學(xué)校里寫(xiě)程序,和工作了寫(xiě)程序,有 那么一點(diǎn)相同,但又好像完全兩回事,到底有什么不同,只有親自體會(huì)、思考了才能明白,所以我想把自己的所見(jiàn)所感寫(xiě)出來(lái)。悟性好的有機(jī)會(huì)接受很好訓(xùn)練的同 學(xué),估計(jì)不需要了解這些。但對(duì)于沒(méi)有這樣條件的同學(xué),但愿我的這點(diǎn)念叨能給你們一點(diǎn)幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1603

    瀏覽量

    71215
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

    31004
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    硬件工程師甩鍋排行榜 #電子 #電子工程師 #硬件工程師 #甩鍋的各種理由 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2026年03月06日 18:30:55

    什么是BSP工程師

    的時(shí)候,板子上所有的設(shè)備都已經(jīng)可以正常使用了。這個(gè)階段的任務(wù)就是開(kāi)發(fā)應(yīng)用程序來(lái)實(shí)現(xiàn)某種特定的功能,應(yīng)用程序中會(huì)使用第二階段提供的軟件接口控制板子上的設(shè)備來(lái)完成這一功能。 四、BSP工程師應(yīng)具備的能力
    發(fā)表于 01-13 06:54

    硬件工程師都在逛的7個(gè)論壇你都知道嗎? #科普 #電子 #硬件工程師 #電子愛(ài)好者

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年12月25日 18:32:00

    程序員最常見(jiàn)謊言

    了。 28我已經(jīng)測(cè)試過(guò)了,這個(gè)功能沒(méi)問(wèn)題,可以上線(xiàn)了。 29別擔(dān)心,這個(gè)問(wèn)題很快就能解決。 30代碼快寫(xiě)完了,已經(jīng)完成 90% 了 。 希望大家對(duì)程序員多一些容忍以及諒解! 各位程序員你們都被我說(shuō)中了哪些?說(shuō)說(shuō)你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    Wincc7.5工程師站與操作站配置方法

    ”下載程序,Wincc7.5這個(gè)版本是絕對(duì)無(wú)法直接下載程序的,這個(gè)是肯定的,網(wǎng)上有些說(shuō)怎么操作就可以下載了,這純屬瞎說(shuō)!“工程師站”等同于“多用戶(hù)項(xiàng)目”“操作站”等同于“客戶(hù)機(jī)項(xiàng)目”
    的頭像 發(fā)表于 11-14 16:46 ?3416次閱讀
    Wincc7.5<b class='flag-5'>工程師</b>站與操作<b class='flag-5'>員</b>站配置方法

    (仰天長(zhǎng)嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

    電子工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2025年04月27日 18:21:47

    問(wèn),成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37