Week4-作业1:阅读与博客
第四章、兩人合作
1、原文:
? ? ? ?在變量面前加上有意義的前綴,程序員就能一眼看出變量的類型及相應的語義。這就是“匈牙利命名法”的用處。還有一些地方不適合用“匈牙利命名法”,比如,在一些強類型的語言(如C#)中,對類型有嚴格的要求,不同類型的值是不能做運算的,例如C#中,if()語句只能接受bool值的表達式,這樣很大程度上就杜絕了上面的問題。在這類語言中, 前綴就不是很必要,匈牙利命名法并不適用。微軟的.NET框架就不主張用這樣的命名法則。
問題與思考:
? ? ? ?既然匈牙利命名法在一定程度上并不適用,那么它出現的意義是什么?
? ? ? ?“匈牙利命名法”是由匈牙利程序員Charles Simonyi發明的一種編程語言中對變量進行命名的規范。基本原則是:變量名=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。要基于容易記憶容易理解的原則,保證名字的連貫性是非常重要的。例如:nFoo,szFoo,pFoo,cpFoo分別表示整型變量,字符串型變量,指針型變量和常指針型變量。
? ? ? ?可以看出,匈牙利命名法將變量的類型信息從單一地點(聲明變量處)復制到了多個地點(使用變量處),這是冗余法。冗余法的成本之一是要維護副本的一致性,這個成本在編寫和維護代碼的過程中需要改變變量的類型時付出。冗余法的成本之二是占用了額外的空間,一個優秀的書寫者會自覺地遵從一個法則:代碼最小組織單位的長度以30個自然行以下為宜,如果超過50行就應該重新組織,一個變量的書寫空間會給這一法則添加不必要的難度。
? ? ? ?但是使用匈牙利命名法的好處是看代碼的人知道這里發生了一個整型變量的復制動作,聽起來沒什么問題,可以安心了。匈牙利命名法有其優點但也有缺點,這就需要在使用中揚長避短,合理應用它。
2、原文:
? ? ?結對編程不是成與開發者獨到的發明,在現實生活中,也存在著類似的搭檔關系:越野賽車(駕駛,領航員);駕駛飛機(駕駛,副駕駛),這些任務都有共同點:在高速度中完成任務,任務有較高的技術要求,任務失敗的代價很高。
問題與思考:
? ? ? ?為什么說結對編程“任務失敗的代價很高”?
? ? ? ?我們都能明白越野賽車和駕駛飛機時任務失敗很可能導致兩個合作者的性命安全得到威脅,但是結對編程任務失敗的代價以及后果到底是什么呢?在結對編程中的角色分別是:駕駛員(控制鍵盤輸入);領航員(起到領航、提醒的作用)。與之前提到的搭檔關系不同的是,在結對編程中這兩個角色是可以互換的。在結對過程中,任何一段代碼都至少被兩雙眼睛看過,被兩個腦袋思考過,代碼被不斷地復審,這樣使得代碼的責任不屬于某一個人,而是兩個人共同的責任。
? ? ? ?因此,結對編程十分忌諱個人英雄主義,它需要的是建立集體擁有代碼的意識。所以,如果兩人由于配合不當導致代碼無法融合,沒人負責,就會使編程進度大大下降。并且結對編程的過程也是一個相互督促的過程,這樣使得程序員除了技術之外,對心智的要求也比較高。因此,結對成員若是做不到絕對的信任與高強度的配合,就會使結隊任務無法進行,并從中還能夠看出程序員的“不足”。
第十七章、人,績效和職業道德
1、原文:
? ? ? ?有時候一個企業也會展現出“假團隊”的特性:領導非常努力地讓員工相信公司非常關心員工;員工也非常努力地讓領導相信自己完全領會了公司的大愛。私下里雙方都不相信對方說的話,也看不起對方。
問題與思考:
? ? ? ?如何使自己的團隊不變成“假團隊”?如果自己在的團隊是一個假團隊是該力挽狂瀾,還是拂袖而走??
? ? ? ?“假團隊”是指名義上有團隊的組織,但是成員相互掣肘,面和心不和,有人打醬油,這樣的團隊的效率還不如各人單干的工作組。那么,?如何使自己的團隊不變成“假團隊”?就應該在這個團隊組成的萌芽階段做好預防措施,在剛剛開始組隊時就應該分配好各自的職責,制定好相應的規章制度,從根源上杜絕一切“混子”行為。在團隊的磨合階段,大家應該做到坦誠相對,積極溝通與交流。不要因工作理念或者習慣的不同而產生不滿甚至隔閡,這樣就不會有成員因為對內沖突而抵觸工作。
? ? ? ?但是萬事都有一個萬一,如果自己在的團隊變成了一個假團隊那么應該怎么做?是該力挽狂瀾,還是拂袖而走?首先,我們要清楚自己在這個團隊的位置,以及自己對待這個團隊的情感是什么。如果你是一個剛剛加入的新成員,那么我認為自己的去留對這個團隊影響不大,那么我選擇離開。但是如果我是這個團隊的老成員,我為了這個團隊付出了很多,那么我可能會思考問題的所在,為我們的團隊的未來做一個整治以及改變。
2、原文:
? ? ?有些人把團隊成員分為A、B、C這樣的等級,并且認為A類員工最優秀,B類員工一般,而且B類員工會把更差的C類員工招入團隊,急劇降低團隊質量,因此要盡量只保留A類員工。
問題與思考:
? ? ? 為什么B類員工愿意招入C類員工來降低團隊質量呢?將員工分類對績效管理有何作用?
? ? ? ?在我看來人類總是愿意與比自己“低”的人作比較,從而來增強自己的自信心。B類員工會把更差的C類員工招入團隊,也許是由于自己的能力實在是超不過A類員工,因此想選擇C員工作為自己的最低標準。所以,如果一個團隊若盡量保留A類員工,就會激發B類員工的自尊心與求勝欲,從而使得團隊的工作效率得到大幅度的提升。
? ? ? 一個團隊中的每個人都有各自的努力和作用,如何衡量個人在團隊中的績效呢?有的人說根據工作量來算,但是代碼雖多,還是要看結合起來在團隊中的作用。有人建議按照角色來定位,有人建議根據工作時間來衡量……但是這些都是很片面的,在評定員工績效時,還是應該從多維的角度思考。因此,雖說員工進行了分類,但并不代表A類員工的績效就要比B、C類的好,我們還要看每個等級的員工在該等級的貢獻與能力的提升。
? ? ??
?
轉載于:https://www.cnblogs.com/qichen0624/p/8672968.html
總結
以上是生活随笔為你收集整理的Week4-作业1:阅读与博客的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git 学习记录一
- 下一篇: 基础补充:使用xlrd模块读取excel