自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)人員最難于打理的九項(xiàng)工作

譯文
開發(fā) 項(xiàng)目管理
軟件開發(fā)人員經(jīng)常需要啃下任務(wù)當(dāng)中的硬骨頭——而其中大部分都跟編寫代碼毫無關(guān)系

軟件開發(fā)人員經(jīng)常需要啃下任務(wù)當(dāng)中的硬骨頭——而其中大部分都跟編寫代碼毫無關(guān)系

[[89256]]

大多數(shù)非程序員朋友都會認(rèn)為軟件開發(fā)工作難度很高——雖然實(shí)際情況確實(shí)如此,但與普通群眾的印象仍然存在出入。最近Quora網(wǎng)站發(fā)起了一份調(diào)查,統(tǒng)計(jì)了開發(fā)人員在工作當(dāng)中遇到的最令人頭痛的艱巨任務(wù)。通過對此次調(diào)查的反饋及評分結(jié)果進(jìn)行匯總,再加上Ubuntu論壇曾經(jīng)整理出的相關(guān)意見,我們統(tǒng)計(jì)出這份程序員眼中最難于打理的九項(xiàng)工作清單。正如各位所見,事實(shí)證明編寫代碼并不是編程工作中最大的難關(guān)。如果大家本身正是軟件開發(fā)專業(yè)人員,那么這份清單上的許多任務(wù)肯定會勾起您不少“美好”回憶。

[[89257]]

9. 設(shè)計(jì)解決方案

任務(wù):根據(jù)一系列要求設(shè)計(jì)出技術(shù)解決方案并為其選擇合適架構(gòu)。這項(xiàng)工作當(dāng)中可能包含設(shè)計(jì)數(shù)據(jù)及代碼結(jié)構(gòu)、功能算法以及能夠囊括業(yè)務(wù)邏輯及理想用例的應(yīng)用程序流。

挑戰(zhàn):確保我們所設(shè)計(jì)的解決方案能夠滿足客戶需要,即起到預(yù)期作用又能在規(guī)定的時(shí)間框架內(nèi)完成。

群眾觀點(diǎn):“考慮如何從A開始、到Z結(jié)束,這是工作中最困難的部分。”

“如果項(xiàng)目設(shè)計(jì)太臃腫,最終就會被自身的龐大規(guī)模所壓垮;如果項(xiàng)目設(shè)計(jì)太單薄,又會缺乏實(shí)用性。”

“在真正著手工作之前,很難準(zhǔn)確預(yù)計(jì)事情的實(shí)際走向……”
 

[[89258]]

8. 編寫測試

任務(wù):編寫單元測試,也就是把對小型代碼單元進(jìn)行宏觀測試以確保它能正常工作。這些測試能幫助我們在開發(fā)流程早期發(fā)現(xiàn)并剔除bug,同時(shí)在代碼被修改或者更新之后進(jìn)行回歸測試。某些開發(fā)方法鼓勵(lì)我們在著手開放代碼之前制定測試規(guī)劃,但其它一些則傾向于在擁有代碼成果后再考慮測試事宜。

挑戰(zhàn):選擇測試機(jī)制并著手編寫相當(dāng)繁瑣、因而令人十分頭痛,開發(fā)人員會明顯感受到這是一種額外任務(wù)、與應(yīng)用開發(fā)本身嚴(yán)重脫節(jié)。

群眾觀點(diǎn):“編寫測試(這倒并不難,但我很討厭做這類工作)。”

[[89259]]

#p#

 7. 撰寫文檔

任務(wù):創(chuàng)建一份文檔來解釋自己的代碼有何作用或者應(yīng)用程序如何工作。這項(xiàng)工作當(dāng)中可能包含創(chuàng)建多個(gè)獨(dú)立文檔以及代碼注釋。任務(wù)的目標(biāo)受眾范圍非常廣泛,從終端用戶到其他開發(fā)人員都可能涉入。

挑戰(zhàn):這很可能是一項(xiàng)費(fèi)時(shí)費(fèi)力的任務(wù),甚至有些浪費(fèi)青春——畢竟愿意認(rèn)真閱讀說明文檔的用戶實(shí)在沒多少。程序員通常更樂于通過編寫代碼來直接生成說明文檔。

群眾觀點(diǎn):“撰寫這種根本沒人會看或者會用的垃圾文檔,只是因?yàn)檫@是‘流程’的一部分。”

“不能處理代碼,反而需要撰寫一份能清晰解釋當(dāng)前工作的文檔。”

“撰寫文檔時(shí),需要同時(shí)滿足良好、解釋清晰以及簡潔三大要求!”

[[89260]]

6.被迫實(shí)現(xiàn)那些自己無法認(rèn)同的功能

任務(wù):有時(shí)候我們認(rèn)為某些特性或者功能根本不應(yīng)包含在應(yīng)用當(dāng)中,但客戶或者某些職級更高的家伙卻堅(jiān)持要這么干。

挑戰(zhàn):拋開我們的個(gè)人感受或者意見,花費(fèi)時(shí)間和精力來實(shí)現(xiàn)(并支持)那些尚存疑問的功能。

群眾觀點(diǎn):“……我們只有兩種選擇——要么忍氣吞聲、要么趁早滾蛋。”

[[89261]]

5. 處理別人的代碼

任務(wù):不得不為由其他開發(fā)人員編寫的應(yīng)用程序或者代碼片段進(jìn)行維護(hù)、調(diào)試或者強(qiáng)化。

挑戰(zhàn):嘗試?yán)斫饽承┻z留代碼片段的工作方式并揣測原始開發(fā)者的真實(shí)意圖本身已經(jīng)很不容易,如果無法跟那家伙取得聯(lián)系或者其人的編程水平、注釋說明或者歷史記錄特別糟糕,這項(xiàng)工作就會變得更難。

群眾觀點(diǎn):“嘗試處理那些語焉不詳?shù)拇a。”

“有些人根本沒資格編寫代碼,可有時(shí)候我卻得處理他們拋出來的東西……”

“嘗試破譯成千上萬行未加注釋的代碼。”

[[89262]]

4. 和其他人打交道

任務(wù):收集來自客戶的需求信息、向管理層提交狀態(tài)報(bào)告、與測試人員們共事以及向其他工程師交代項(xiàng)目內(nèi)容等。

挑戰(zhàn):向非技術(shù)人員解釋技術(shù)內(nèi)容,工作主動(dòng)權(quán)落在他人手中,與品質(zhì)保證人員或者其他開發(fā)人員發(fā)生分歧。

群眾觀點(diǎn): “與某些人比起來,我更喜歡跟處理器交流——這樣更方便。”

“來自非技術(shù)人員的阻礙……還有那些來自其他技術(shù)人員的代碼編寫指導(dǎo)……”

“……對于技術(shù)行業(yè)一無所知的家伙實(shí)在很難溝通。”

“其他團(tuán)隊(duì)的成員進(jìn)度滯后,而我們只能坐著干等……”
 

[[89263]]

#p#

3. 估算任務(wù)的預(yù)計(jì)完成時(shí)間

任務(wù):在項(xiàng)目起步階段估算出完成全部工作所需要的時(shí)間。

挑戰(zhàn):在尚未著手之前猜測某件可能發(fā)生的事情將耗時(shí)多久,根據(jù)含糊的要求做出估算并為這些說不清楚的問題分配處理時(shí)間。

群眾觀點(diǎn):“我發(fā)現(xiàn)在真正進(jìn)入實(shí)踐階段之前,要對編程工作中可能出現(xiàn)的意外狀況做出預(yù)判真的很難……”

“我發(fā)現(xiàn)估算是最難的工作,因?yàn)榇蟛糠秩硕及压浪惝?dāng)成承諾。”

“……任務(wù)的實(shí)際執(zhí)行時(shí)間根本不可能被準(zhǔn)確預(yù)測……”
 

[[89264]]

2. 解釋我是做什么的(或者不做什么)

任務(wù):向非程序員(包括家庭成員、朋友、非技術(shù)同事等)解釋自己的崗位職責(zé)是做什么的以及不能做什么。

挑戰(zhàn):某些全身心愛著我們的人確實(shí)弄不明白我們到底靠什么謀生。再有,有些家伙不斷要求我們幫著解決任何與計(jì)算機(jī)有關(guān)的問題。

群眾觀點(diǎn): “嘗試向任何人做出解釋——我不知道怎樣修復(fù)他們的計(jì)算機(jī)。”

“向我的家人解釋我是干什么的。”

“我已經(jīng)無數(shù)次向外行們解釋,程序員并不代表沒日沒夜地編程??!”

“我需要向人們解釋,我不是電子城里那些每天給人裝盜版操作系統(tǒng)和其它盜版軟件的家伙。”
 

[[89265]]

1. 命名難題

任務(wù):為變量、程序、函數(shù)、類、對象以及數(shù)據(jù)庫組件等起名字。

挑戰(zhàn):即使是在一個(gè)小型程序或者應(yīng)用當(dāng)中,我們也必須要想出很多個(gè)相關(guān)名稱。選擇名稱的目的是為了表達(dá)某種事物的內(nèi)容或者作用,這項(xiàng)工作貫穿于應(yīng)用程序始終且必須足夠簡潔。

群眾觀點(diǎn):“想出有意義的變量名稱。”

“為數(shù)據(jù)和函數(shù)起一大堆有意義的名稱。”

“在計(jì)算機(jī)科學(xué)領(lǐng)域只有兩個(gè)大難題:緩存失效與事物命名。”

“……如果你在去除重復(fù)和改正糟糕名稱方面表現(xiàn)突出,我可以負(fù)責(zé)任地講——你已經(jīng)是一位面向?qū)ο笤O(shè)計(jì)的高手了。”
 

原文鏈接:http://www.itworld.com/slideshow/124383/arg-9-hardest-things-programmers-have-do-378834?source=fkcarouselhardestthings#slide1

責(zé)任編輯:陳四芳 來源: 51CTO
相關(guān)推薦

2023-02-06 18:27:00

開發(fā)人員語言

2018-04-08 10:08:43

開發(fā)人員工具

2022-07-15 15:22:51

區(qū)塊鏈開發(fā)語言

2023-08-30 08:01:37

前端CSS

2023-10-26 16:56:24

2020-10-12 08:02:04

開發(fā)人員開發(fā)編碼

2012-05-30 15:15:42

ibmdw

2023-03-15 07:12:53

企業(yè)開發(fā)人員提供商

2010-08-09 16:09:25

2009-12-11 14:50:14

Visual Basi

2009-11-23 20:07:51

ibmdw開發(fā)

2021-02-19 09:33:01

kubernetesJAVA服務(wù)

2019-08-02 17:06:49

JavaScript程序員技術(shù)

2023-06-12 10:51:43

開發(fā)工作效率技巧

2023-12-21 16:45:27

軟件開發(fā)人員CIOGenAI

2020-09-25 17:31:43

JavaScript開發(fā)技術(shù)

2009-04-07 10:55:16

開發(fā)技能職場

2022-11-28 11:42:08

ReactJS開發(fā)Web 應(yīng)用程序

2024-01-24 08:00:00

2010-07-06 10:34:33

RationalJazz需求管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號