最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

開發(fā)人員的編程心理學(xué)

2022-01-25 04:43 作者:信碼由韁  | 我要投稿

向開發(fā)人員提供建議的編程心理學(xué)

我之前寫過(guò),編程有兩個(gè)受眾:CPU 和你的編程伙伴。

還有一些優(yōu)秀的文章,比如《面向苦難編程》?,可以幫助你在編程時(shí)調(diào)整目標(biāo)——讓它工作、讓它漂亮、讓它快速,這是那篇文章的建議。

讓它工作、讓它漂亮、讓它快速”是絕妙的編程建議,也是我從第一次讀它開始就一直牢記在心的建議。

編程建議程序首先以 CPU 為目標(biāo)——即“使其工作”。

1.?合理的編程建議

然后建議針對(duì)您的編程伙伴,即必須維護(hù)或查看代碼的人,讓代碼漂亮。

一旦您的代碼成功滿足其計(jì)算要求,并滿足與我們一起共事的普通人能夠理解的要求,那么,如有必要,我們就可以專心致志地不斷完善它。事實(shí)上, 代碼“漂亮”意味著有可能更容易找到改進(jìn)的機(jī)會(huì),因?yàn)樵诖蠖鄶?shù)情況下,使代碼“漂亮”意味著更小的、獨(dú)立的函數(shù),從而使得更易優(yōu)化。

我最近在網(wǎng)上和一位朋友聊天,他提出了一個(gè)問(wèn)題,這也反映了我的經(jīng)歷:他的任務(wù)是集成一組代碼,這些代碼是在沒有團(tuán)隊(duì)監(jiān)督的情況下創(chuàng)建的。這些代碼缺乏測(cè)試,并且是獨(dú)立編寫的,沒有遵循與主項(xiàng)目相同的編碼標(biāo)準(zhǔn)。

這是一個(gè)艱難的處境。集成這樣的代碼意味著要試圖弄清切入點(diǎn)——這是測(cè)試的職責(zé)——但由于沒經(jīng)過(guò)測(cè)試,你不得不相信編碼者實(shí)際上滿足了需求,因?yàn)樵诶硐肭榍樾蜗?,測(cè)試也要證明這一點(diǎn)。

你會(huì)怎么做?你會(huì)給什么編程建議?

2.?無(wú)沖突面對(duì)

如我所言,我遇到過(guò)類似情形,雖然我承認(rèn)還可以處理得更好,但同時(shí)我也認(rèn)為自己已經(jīng)做得夠好了。

人們不喜歡被面對(duì),面對(duì)什么并不重要。迪特里?!ぐ罨糍M(fèi)爾(Dietrich Bonhoeffer)有一個(gè)深刻的洞察,即個(gè)體可能很愚笨,但群體可能超級(jí)愚笨——更糟糕的是,抵觸挑戰(zhàn),抵抗力會(huì)隨著參與人數(shù)的增加而增加。(你可以很容易地改變一個(gè)朋友的想法——但是改變一群七個(gè)人的想法卻難于上青天。)

所以我所做的就是把自己描繪成一個(gè)受到他們的代碼庫(kù)挑戰(zhàn)的人。我沒有評(píng)論實(shí)際代碼或它們有多可怕:我讓自己專注是于學(xué)習(xí)代碼,因?yàn)槲也焕斫馑?/span>

這個(gè)功能的測(cè)試在哪里?”我問(wèn)道,盡管我知道沒有測(cè)試。畢竟,我可能是錯(cuò)的……問(wèn)測(cè)試在哪里是對(duì)他們的溫和刺激,以便我能從他們那里有所收獲。

這個(gè)問(wèn)題給了他們很大的回旋余地。

3強(qiáng)迫自我反省

他們可以指出測(cè)試在哪里確實(shí)滿足了我的需求;也許我只是沒看到?(在這種情況下,不存在測(cè)試,我知道,但這不是重點(diǎn)。我需要他們考慮可能性。)

他們也可以自己觀察到,也許測(cè)試不存在,作為交接的要求,也許他們可以寫一個(gè)。

當(dāng)您還沒有設(shè)計(jì)用于測(cè)試的代碼時(shí),測(cè)試很困難,但在您接受代碼之前,這不是您的問(wèn)題,這讓他們有機(jī)會(huì)修改自己對(duì)代碼的理解,而不必在意對(duì)他們代碼的看法。

當(dāng)然,也許你沒有權(quán)限要求這樣的測(cè)試。在這種情況下,您可能需要向利益相關(guān)者(負(fù)責(zé)交付代碼的人)請(qǐng)求幫助,并指出未測(cè)試代碼的集成引入了可變的可靠性(即,它是不可靠的,因?yàn)槟荒芗僭O(shè)它是可靠的)。

與利益相關(guān)者就可靠性進(jìn)行對(duì)話可能會(huì)您有權(quán)回去進(jìn)行結(jié)構(gòu)和測(cè)試的對(duì)話。

4編程建議心理學(xué)

再者說(shuō),這種對(duì)話完全可以顛倒過(guò)來(lái)。如果他們編寫了意大利面條式的代碼并為此感到自豪——誰(shuí)不會(huì)呢?您會(huì)簡(jiǎn)單地要求他們編寫它,以便您的小腦袋可以像理解根據(jù)組織約定編寫的代碼一樣容易地理解它。

“哇,那個(gè)243行的函數(shù)太厲害了,就是看不懂。你能告訴我我們?nèi)绾螌⑺纸獠⒅貥?gòu)為具有更小的函數(shù)和組合嗎? 而這個(gè)對(duì)“j”的引用,是一個(gè)索引嗎?我們能把它命名為它實(shí)際代表的東西嗎?是窗口句柄嗎? 請(qǐng)幫幫我,我真的不明白?!?/span>

這是基本的心理學(xué)原理。在某種程度上,這是一種操縱,但我們每天和每次互動(dòng)都以溫和(希望是善良)的方式操縱人們:當(dāng)我們與人打招呼時(shí),我們會(huì)微笑,以觸發(fā)特定的內(nèi)啡肽,我們首先提到好消息(或許不是)創(chuàng)造有利于我們想要的特定心態(tài)。為自己的目的使用人們的思維和感知方式并不奇怪,如果結(jié)果是正面的,那么這樣做也不是壞事。

不要害怕用心理學(xué)來(lái)幫助你編程。這可能很難,因?yàn)橛袝r(shí)它意味著你不能對(duì)那些可能真的需要大喊大叫的人大喊大叫——但大喊大叫往往會(huì)適得其反,如果目標(biāo)是富有成效,那么我們需要考慮如何創(chuàng)造我們的工作環(huán)境,而不是通過(guò)按住別人來(lái)滿足我們的私欲。

注:本文譯自:The psychology of offering programming advice to developers - Coffee Talk: Java, News, Stories and Opinions (theserverside.com)

開發(fā)人員的編程心理學(xué)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
灵丘县| 大足县| 北票市| 高平市| 许昌市| 樟树市| 军事| 萍乡市| 德昌县| 商丘市| 隆林| 遂昌县| 霞浦县| 砀山县| 汨罗市| 毕节市| 新和县| 临城县| 河池市| 芦溪县| 焦作市| 东港市| 邯郸市| 海林市| 石城县| 永顺县| 河源市| 明水县| 汤原县| 荔浦县| 翁源县| 宁化县| 湘潭县| 资讯 | 鄂伦春自治旗| 建阳市| 新干县| 大英县| 新沂市| 千阳县| 松阳县|