2018年4月15日 星期日
赫茲伯格的雙因素激勵理論 - 筆記
雙因素理論(Two Factor Theory)又叫激勵保健理論(Motivator-Hygiene Theory),是美國的行為科學家弗雷德里克·赫茨伯格(Fredrick Herzberg)提出來的。
赫茨伯格著手研究哪些事情使人們在工作中快樂和滿足,哪些事情造成不愉快和不滿足。結果他發現,使員工感到滿意的都是屬於工作本身或工作內容方面的;使員工感到不滿的,都是屬於工作環境或工作關係方面的。他把前者叫做激勵因素,後者叫做保健因素。
那些能帶來積極態度、滿意和激勵作用的因素就叫做“激勵因素”,這是那些能滿足個人自我實現需要的因素,包括:具挑戰性的工作、自主權、嘉獎和升遷。
根據赫茨伯格的理論,在調動員工積極性方面,可以分別採用以下兩種基本做法:
(一)直接滿足
直接滿足,又稱為工作任務以內的滿足。它是一個人通過工作所獲得的滿足,這種滿足是通過工作本身和工作過程中人與人的關係得到的。它能使員工學習到新的知識和技能,產生興趣和熱情,使員工具有光榮感、責任心和成就感。
(二)間接滿足
間接滿足,又稱為工作任務以外的滿足。這種滿足不是從工作本身獲得的,而是在工作以後獲得的。例如晉升、授銜、嘉獎或物質報酬和福利等,就都是在工作之後獲得的。在使用這種激勵因素時,必須與個人的工作績效掛鉤。否則一味的“吃大鍋飯”,久而久之,獎金就會變成保健因素,再多也起不了激勵作用。
2018年4月7日 星期六
note for "The Art of Readable Code" - CH9 Variables and Readability
減少不必要的變數可以增加閱讀性, 比如
root_message.last_view_time = datetime.datetime.now() 會比下面code更容易理解 now = datetime.datetime.now() root_message.last_view_time = now
下面還有幾個需要優化的的例子, 可以好好思考如何改善.
boolean done = false;
while (/* condition */ && !done) {
...
if (...) {
done = true;
continue;
}
}
與
var remove_one = function (array, value_to_remove) {
var index_to_remove = null;
for (var i = 0; i < array.length; i += 1) {
if (array[i] === value_to_remove) {
index_to_remove = i;
break;
}
}
if (index_to_remove !== null) {
array.splice(index_to_remove, 1);
}
};
programmer都知道要盡量限縮變數的範圍, 因為可視範圍小, 要記住的變數數量也會減少, 也且可以避免global/local variable用錯的窘境.
submitted = false; // Note: global variable
var submit_form = function (form_name) {
if (submitted) {
return; // don't double-submit the form
}
...
submitted = true;
};
可以被修改成
var submit_form = (function () {
var submitted = false; // Note: can only be accessed by the function below
return function (form_name) {
if (submitted) {
return; // don't double-submit the form
}
...
submitted = true;
};
}());
-
參考資料:
- The Art of Readable Code
Table Of Content for tag "The Art of Readable Code"
這是一本好書, 建議每個programmer都應該買來翻一翻
- CH1, Code Should Be Easy to Understand
- CH2, Pack information into your names
- CH3, Names That Can’t Be Misconstrued
- CH4, Aesthetics
- CH5, Knowing What to Comment
- CH6, Making Comments Precise and Compact
- CH7, Making Control Flow Easy to Read
- CH8, Breaking Down Giant Expressions
- CH9, Variables and Readability
- CH10, Extracting Unrelated Subproblems
- CH11, One Task at a Time
- CH12 Turning Thoughts into Code
- CH13 Writing Less Code
訂閱:
文章 (Atom)
