【測(cè)試調(diào)查】你是程序員還是程序設(shè)計(jì)師?
二十年前,***的程序員能將一個(gè)完整的應(yīng)用放到一個(gè)64KB大小的.COM文件里。這是他們對(duì)可憐的因特爾80386電腦在編程上進(jìn)行的***挖掘。
這是因?yàn)?,二十年前,電腦昂貴而程序員便宜。那是一個(gè)“電腦為先”的時(shí)代。那個(gè)時(shí)代已經(jīng)過去。那種理念已經(jīng)不再有人欣賞,因?yàn)槿缃竦氖袌?chǎng)形勢(shì)發(fā)生了完全的顛覆。
如今,計(jì)算機(jī)便宜而程序員昂貴。這是一個(gè)“程序員為先”的年代,不再需要考慮計(jì)算機(jī)的能力和限制,程序員的因素放到了***位
程序員思維
屬于程序員思維的人會(huì)認(rèn)為下面這個(gè)用Java實(shí)現(xiàn) 斐波那契數(shù)列(Fibonacci)的方法“寫的很優(yōu)雅”(你認(rèn)為呢?):
一個(gè)典型具有“程序員思維”的程序員的特征包括:
- 喜歡使用***進(jìn)、***奇的技術(shù)
- 將其人分類對(duì)待(程序員,菜鳥,文檔編寫員)
- 討厭制度、約束和標(biāo)準(zhǔn)
- 不寫單元測(cè)試——讓低級(jí)程序員去寫
- 喜歡當(dāng)消防隊(duì)員——這是能顯示他們才能的時(shí)候
- 喜歡口述而不是寫文檔
- 討厭別人修改自己的代碼
- 喜歡一個(gè)時(shí)間里只把精力放在一個(gè)項(xiàng)目上
程序員是有天份的一群人。他們喜歡用寫軟件來表達(dá)他們的天份。他們享受編程,在編程中樂趣無窮。當(dāng)你問一個(gè)程序員——“別人如何知道這段代碼是干什么的?”你通常聽到的回答都是一樣的“——”問我就行了!“
程序設(shè)計(jì)師思維
具有程序設(shè)計(jì)師思維的程序員會(huì)重構(gòu)上面的代碼,讓它們更易讀。他會(huì)認(rèn)為下面的這版Java代碼”更優(yōu)雅“(你覺得呢?):
一個(gè)具有”程序設(shè)計(jì)師思維“的程序員表現(xiàn)出下列特征:
- 保守,喜歡使用傳統(tǒng)的編程技術(shù)方法
- 會(huì)先假定其他人都是新手
- 喜歡設(shè)立和遵守規(guī)則
- 喜歡文檔而不是口述
- 在單元測(cè)試上花大量時(shí)間
- 不喜歡突遇緊急情況
- 樂于看到自己的代碼被修改和重構(gòu)
- 同時(shí)參與多個(gè)項(xiàng)目
程序設(shè)計(jì)師們是天才的團(tuán)隊(duì)合作者。他們關(guān)心團(tuán)隊(duì)合作、制度、培訓(xùn)和紀(jì)律,認(rèn)為這些和代碼同等重要。他們會(huì)保證當(dāng)自己不在時(shí)其他人能輕松的接手他的代碼。程序設(shè)計(jì)師最樂意看到的事情是自己寫的代碼能自主生存——被修改、改進(jìn)、重構(gòu),直至退休。