Java開(kāi)發(fā)成長(zhǎng)之路第七年

介紹

入行已久增蹭,中毒很深。和那些職場(chǎng)新人相比較磅摹,已經(jīng)顯得“老邁”了很多滋迈,精力霎奢、體力都已經(jīng)從優(yōu)勢(shì)變成了劣勢(shì)。但是饼灿,身為“懶惰”的程序員幕侠,如何才能可持續(xù)地保持自己的這份“自豪感”呢,畢竟這是個(gè)殘酷的世界——沒(méi)人會(huì)關(guān)心你的過(guò)去碍彭,只在意你是否還有戰(zhàn)斗力晤硕!

有核心競(jìng)爭(zhēng)力的人,才會(huì)有持續(xù)的戰(zhàn)斗力庇忌!為了不讓自己過(guò)快窗骑、過(guò)于凄慘地被淘汰,我每天都在磨練漆枚、探索自己的核心競(jìng)爭(zhēng)力创译。各位看客,你的每一天都是怎么度過(guò)的呢墙基?

?測(cè)試

一直對(duì)測(cè)試這份工作了解很少软族,雖然身為開(kāi)發(fā)的屌絲是經(jīng)常和測(cè)試MM有工作上的交集。很多情況下残制,我們止步于功能完成立砸,沒(méi)有報(bào)錯(cuò),Bug庫(kù)里沒(méi)有自己的名字初茶;但這遠(yuǎn)遠(yuǎn)不夠颗祝!

對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),設(shè)計(jì)恼布、編碼完成后螺戳,還要做“自測(cè)”——點(diǎn)點(diǎn)頁(yè)面,單元測(cè)試折汞。我們大部分做到的是倔幼,通過(guò)界面來(lái)操作,然后查看生成的數(shù)據(jù)是否符合要求爽待;或者只是看看頁(yè)面上有沒(méi)有報(bào)錯(cuò)损同。但,開(kāi)發(fā)人員的自測(cè)其實(shí)還可以做的更加深入和細(xì)致鸟款。

頁(yè)面膏燃、瀏覽器控制臺(tái)、服務(wù)器日志上都不能有未預(yù)料到的異常報(bào)錯(cuò)何什,或者本來(lái)應(yīng)該有異常但是又沒(méi)有給出異常提示或者日志组哩。之后,再到數(shù)據(jù)庫(kù)中核實(shí)數(shù)據(jù)是否符合預(yù)期。至于單元測(cè)試嘛禁炒,大家都在喊著要做而咆,也都認(rèn)為非常地重要,但沒(méi)有幾個(gè)人或者團(tuán)隊(duì)做到了幕袱。很多情況下暴备,他們寫(xiě)的程序?qū)Α皽y(cè)試”并不友好,在編碼過(guò)程中完全沒(méi)有思考該如何進(jìn)行測(cè)試——因?yàn)槊峭悖覀儾涣私鉁y(cè)試到底應(yīng)該怎么進(jìn)行涯捻。

這里,我提出一個(gè)概念望迎,先設(shè)計(jì)障癌,再思考如何測(cè)試,最后編碼辩尊。

每一個(gè)開(kāi)發(fā)人員涛浙,都應(yīng)該是一個(gè)非常出色的測(cè)試。功能摄欲、WebUI轿亮、性能、安全胸墙、壓力測(cè)試等等我注,我們一個(gè)都不能少。自己寫(xiě)出來(lái)的東西迟隅,居然不會(huì)測(cè)試但骨,也不知道實(shí)際的效果(性能)是什么情況,怎么好意思說(shuō)這個(gè)是你做的智袭。

寫(xiě)一個(gè)自動(dòng)化測(cè)試平臺(tái)奔缠,然后用這個(gè)平臺(tái)來(lái)對(duì)自身做WebUI測(cè)試。另外补履,性能添坊、安全測(cè)試都必須上。JMeter箫锤、Selenium、SoapUI都是應(yīng)該下功夫搞定的雨女。下面是我開(kāi)源的自動(dòng)化測(cè)試平臺(tái)的項(xiàng)目源碼谚攒,歡迎拍磚!

https://github.com/LinuxSuRen/autotest.platform

?源碼

閱讀源碼將不再是件神秘的事情氛堕,不高深馏臭,也不值得吹噓,我們必須每天看、經(jīng)忱ㄈ澹看绕沈。因?yàn)椋覀円呀?jīng)到了必須盡快地掌握技巧帮寻,就和高中的語(yǔ)文閱讀理解一樣乍狐,抓重點(diǎn)、弄明白中心思想固逗;提高閱讀過(guò)程中的腦容量——有層次浅蚪,看結(jié)構(gòu),挑刺烫罩,要無(wú)恥地把別人的東西統(tǒng)統(tǒng)變成自己的惜傲,哈哈!是不是很邪惡贝攒。

打算走技術(shù)路線的人盗誊,一定是要保持在最前線,讀碼隘弊、編碼浊伙、調(diào)碼一個(gè)都不能少。

?審查

說(shuō)到代碼審查长捧、重構(gòu)嚣鄙,有些人不屑一顧,認(rèn)為這是每個(gè)程序員的自我欺騙串结。而我要說(shuō)的是哑子,有這種想法的人,是因?yàn)槟阕龅牟粔驅(qū)I(yè)——至少是沒(méi)有專業(yè)精神肌割,沒(méi)有工匠精神卧蜓。當(dāng)然,如果你是在給“別人”寫(xiě)代碼把敞,環(huán)境不容許你有重構(gòu)弥奸、審查代碼的時(shí)間,是情有可原的奋早;但盛霎,你為什么不給“自己”寫(xiě)點(diǎn)代碼呢,難道就完全沒(méi)有時(shí)機(jī)嗎耽装。

根據(jù)項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)來(lái)說(shuō)愤炸,有以下幾種情況:
1.看著別人寫(xiě)的代碼很爛,自己又想不出更好的辦法來(lái)改進(jìn)掉奄,周圍又沒(méi)有可供咨詢规个、學(xué)習(xí)的前輩(或者覺(jué)得沒(méi)有這個(gè)必要),所以就“同流合污”。
2.看著別人的代碼很爛诞仓,很難改缤苫,但還是要努力跟上“爛”的節(jié)奏,盡力把任務(wù)完成墅拭。有的領(lǐng)導(dǎo)認(rèn)為這種人很上進(jìn)活玲,不怕困難,值得表?yè)P(yáng)帜矾∫沓妫可是,你在想想屡萤,他除了把之前“爛”(可讀性差珍剑、難以維護(hù))的代碼變的更多以外,有什么貢獻(xiàn)的死陆;關(guān)鍵是招拙,他哪天離職了,又有新人補(bǔ)充進(jìn)來(lái)怎么辦措译?這部分代碼會(huì)漸漸地變成誰(shuí)都不敢動(dòng)的地方别凤。
3.我能把功能、任務(wù)完成就不錯(cuò)了领虹,人家之前也寫(xiě)了那么多的代碼和功能规哪,也能使用啊,大家都聽(tīng)不容易的塌衰。
4.項(xiàng)目經(jīng)理說(shuō)诉稍,不要輕易對(duì)代碼或者模塊進(jìn)行重構(gòu)甚至改進(jìn),這樣的風(fēng)險(xiǎn)很大最疆,測(cè)試的同事們還會(huì)因?yàn)槟愕母膭?dòng)不知道要加多少班杯巨。

所以說(shuō),在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中努酸,想要做到代碼質(zhì)量的持續(xù)改進(jìn)是非常低困難的服爷,主客觀因素都是飽滿的。

在這里获诈,我給希望能做到精益求精仍源、持續(xù)改進(jìn)成長(zhǎng)的童鞋們提一個(gè)建議:做開(kāi)源項(xiàng)目吧。你是項(xiàng)目的發(fā)起人烙荷,你就是架構(gòu)師镜会、項(xiàng)目經(jīng)理、需求终抽、開(kāi)發(fā)、測(cè)試,甚至你還是銷售昼伴、運(yùn)維匾旭;你將有機(jī)會(huì)接觸到項(xiàng)目的全流程,你將會(huì)有權(quán)利來(lái)做任何程度的改進(jìn)圃郊、重構(gòu)价涝,甚至,你可以把項(xiàng)目推翻持舆,重來(lái)一次色瘩。只要你的熱情是飽滿的!當(dāng)然逸寓,假設(shè)某天居兆,你發(fā)起的開(kāi)源項(xiàng)目做大了,也是不能隨隨便便地做改變竹伸;但是泥栖,從你剛進(jìn)入開(kāi)源的事業(yè)來(lái),到你能搞大一個(gè)項(xiàng)目勋篓,路還很長(zhǎng)吧享;你真的走到那一步的生活,也就真的成了架構(gòu)師了譬嚣,你的項(xiàng)目也能做到高內(nèi)聚低耦合钢颂。怎么樣,有興趣嗎拜银。

在我GitHub中的項(xiàng)目殊鞭,都會(huì)不定期地進(jìn)行代碼審查,只為了能做到更專業(yè)盐股!歡迎監(jiān)督钱豁、拍磚。

?部署

說(shuō)到項(xiàng)目部署疯汁,有的人可能認(rèn)為是運(yùn)維或者實(shí)施的人應(yīng)該去做的事情牲尺。但我還是那句話男杈,連寫(xiě)好的程序都不會(huì)部署越妈,你還好意思說(shuō)這是你寫(xiě)的嗎驰徊?

項(xiàng)目部署絕非是件簡(jiǎn)單的事情僵蛛,想想有多少人是死在環(huán)境的路上革砸。雖然吨岭,Docker的出世就是為了解決環(huán)境的問(wèn)題休溶,但它本身不也需要一個(gè)環(huán)境嗎府阀?持續(xù)集成漩仙,應(yīng)用虛擬機(jī)搓茬,構(gòu)建工具我們都是要熟練地使用犹赖。在Windows上編碼習(xí)慣了的人,Linux應(yīng)該是必須會(huì)的吧卷仑。

首當(dāng)其沖的峻村,是JVM的部署或者安裝了。Windows和Linux下的Java環(huán)境變量的配置锡凝,PATH粘昨、CLASSPATH、JAVA_HOME等變量的準(zhǔn)確含義必須要弄明白窜锯。另外张肾,Java的版本也是很重要的一塊。每個(gè)程序都會(huì)有一個(gè)支持的最低版本锚扎。

?分享

我不是個(gè)多么高尚的人吞瞪,但隨著閱歷的增長(zhǎng)和對(duì)生活的理解,事實(shí)就是這樣的——我們每個(gè)人都對(duì)周圍的人工秩、家庭尸饺、生活應(yīng)該肩負(fù)起一定的責(zé)任。好了助币,這是個(gè)虛的理由浪听。你可以忽略不管。但是眉菱,下面我再給出一個(gè)自私的理由迹栓,誰(shuí)讓我骨子里總是有自私的成分呢,哈哈俭缓。

如果您以為您對(duì)某個(gè)技術(shù)或者問(wèn)題已經(jīng)掌握的很好克伊,甚至已經(jīng)可以成為這方面的專家了,那么华坦,這個(gè)結(jié)論一定是有待考證的愿吹。您一定也不希望自己是個(gè)自以為是,井底之蛙的人(假設(shè)碰巧是的話惜姐,請(qǐng)繞道)犁跪,那么我推薦一個(gè)可以驗(yàn)證您是否“權(quán)威”的方法。那就是去給別人講歹袁,講給你周圍的人坷衍,講給圈子里的人,講給外行抽熱鬧的人条舔。

假如枫耳,您能講明白了,大家伙也都聽(tīng)明白孟抗,而且都感覺(jué)有所收獲的時(shí)候迁杨,您才可以誠(chéng)惶誠(chéng)恐地認(rèn)為自己也許是某方面的專家或者權(quán)威了钻心。或許仑最,到這時(shí)候扔役,您會(huì)覺(jué)得自己只是個(gè)剛剛跨過(guò)這個(gè)領(lǐng)域的小學(xué)童而已帆喇。

分享警医,除了可以讓您成長(zhǎng),還可以發(fā)揮余熱——照亮別人坯钦。溫故而知新预皇,也許就是這個(gè)道理。

但是婉刀,到這里就算完事了嗎吟温。記住一句話,學(xué)習(xí)和成長(zhǎng)之路是沒(méi)有盡頭的突颊。我們除了自己要變得喜歡做分享以外鲁豪,還得努力感染別人也如此這般。我認(rèn)為律秃,一個(gè)好的團(tuán)隊(duì)的特點(diǎn)之一爬橡,應(yīng)該包括熱衷于分享,熱衷于互相幫助成長(zhǎng)棒动!

?問(wèn)題跟蹤

Jira是比較優(yōu)秀的一款問(wèn)題(bug)跟蹤管理系統(tǒng)糙申,可以推薦給各位使用(當(dāng)然,這是個(gè)收費(fèi)的)船惨。

如果柜裸,您已經(jīng)做到了這個(gè)年頭上,不論您是否已經(jīng)走到管理崗位上粱锐,都應(yīng)該多花點(diǎn)時(shí)間來(lái)把這個(gè)(或者其他的問(wèn)題管理工具)玩的熟練了疙挺。我這里有個(gè)比較自私的理由,您遲早會(huì)用到這個(gè)的怜浅,不然您到時(shí)候怎么去管理铐然、帶領(lǐng)一個(gè)團(tuán)隊(duì)來(lái)干硬仗。

我認(rèn)為海雪,不管是項(xiàng)目經(jīng)理還是開(kāi)發(fā)技術(shù)經(jīng)理锦爵,都已經(jīng)對(duì)當(dāng)前項(xiàng)目中的所有問(wèn)題都掌握的很清楚。包括:?jiǎn)栴}的數(shù)量奥裸、嚴(yán)重程度的分布险掀、問(wèn)題負(fù)責(zé)人的分布等。

?爭(zhēng)

如果您有幸已經(jīng)到了管理崗位湾宙,最應(yīng)該做的事情就是給團(tuán)隊(duì)里的每一位成員極力地爭(zhēng)取樟氢。更多有關(guān)這方面的看法冈绊,請(qǐng)參考《團(tuán)隊(duì)建設(shè)》。

?本系列文章

Java開(kāi)發(fā)成長(zhǎng)之路第一年

Java開(kāi)發(fā)成長(zhǎng)之路第二年

Java開(kāi)發(fā)成長(zhǎng)之路第三年

Java開(kāi)發(fā)成長(zhǎng)之路第四年

Java開(kāi)發(fā)成長(zhǎng)之路第五年

Java開(kāi)發(fā)成長(zhǎng)之路第六年

Java開(kāi)發(fā)成長(zhǎng)之路第七年

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末埠啃,一起剝皮案震驚了整個(gè)濱河市死宣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碴开,老刑警劉巖毅该,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異潦牛,居然都是意外死亡眶掌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)巴碗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)朴爬,“玉大人,你說(shuō)我怎么就攤上這事橡淆≌儇” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵逸爵,是天一觀的道長(zhǎng)具滴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)痊银,這世上最難降的妖魔是什么抵蚊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮溯革,結(jié)果婚禮上贞绳,老公的妹妹穿的比我還像新娘。我一直安慰自己致稀,他們只是感情好冈闭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著抖单,像睡著了一般萎攒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矛绘,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天耍休,我揣著相機(jī)與錄音,去河邊找鬼货矮。 笑死羊精,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的囚玫。 我是一名探鬼主播喧锦,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼读规,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了燃少?” 一聲冷哼從身側(cè)響起束亏,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阵具,沒(méi)想到半個(gè)月后碍遍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怔昨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年雀久,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趁舀。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖祝沸,靈堂內(nèi)的尸體忽然破棺而出矮烹,到底是詐尸還是另有隱情,我是刑警寧澤罩锐,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布奉狈,位于F島的核電站,受9級(jí)特大地震影響涩惑,放射性物質(zhì)發(fā)生泄漏仁期。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一竭恬、第九天 我趴在偏房一處隱蔽的房頂上張望跛蛋。 院中可真熱鬧,春花似錦痊硕、人聲如沸赊级。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)理逊。三九已至,卻和暖如春盒揉,著一層夾襖步出監(jiān)牢的瞬間晋被,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工刚盈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羡洛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓扁掸,卻偏偏與公主長(zhǎng)得像翘县,于是被迫代替她去往敵國(guó)和親最域。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本文將介紹在敏捷開(kāi)發(fā)過(guò)程中如何通過(guò)采取一系列的步驟來(lái)保證和提高整個(gè)項(xiàng)目的代碼質(zhì)量锈麸,闡述了每一步可以利用的工具和最佳...
    Java_蘇先生閱讀 564評(píng)論 0 2
  • 五險(xiǎn)一金中的“五險(xiǎn)”就是我們常說(shuō)的社保镀脂,其中包括養(yǎng)老保險(xiǎn),醫(yī)療保險(xiǎn)忘伞,工傷保險(xiǎn)薄翅,生育保險(xiǎn),失業(yè)保險(xiǎn)氓奈。 社保只是最基本...
    a迎春閱讀 288評(píng)論 2 1
  • 大三開(kāi)始翘魄,舍友們紛紛安慰我,說(shuō)王威就是渣男舀奶,其實(shí)暑竟,我知道她們的心思。但我卻說(shuō):“謝謝你們育勺,沒(méi)有你們但荤,我真不知道該怎...
    帕特森J閱讀 255評(píng)論 0 2
  • 今日上巳,偶有所感涧至,發(fā)乎內(nèi)情腹躁,遂作詩(shī)一。 獨(dú)坐深春夜南蓬, 敲窗落雨絲纺非。 問(wèn)君何所憶? 心念最初時(shí)赘方。
    姑射閱讀 150評(píng)論 0 1