更新時間:2016年12月06日11時50分 來源:傳智播客web前端培訓學院 瀏覽次數(shù):
1 2 3 4 5 6 7 8 9 |
const a = document.createElement("a"); a.innerHTML = "www.google.com"; a.href = "//www.google.com"; a.style.position = "absolute"; a.style.top = 100; a.onclick = function(){ console.log("google"); } document.body.appendChild(a); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function doCss(a) { a.style.position = "absolute"; a.style.top = 100; } function doEvent(a) { a.onclick = function(){ alert("google"); } } function doAttribute(a){ a.innerHTML = "www.google.com"; a.href = "//www.google.com"; } const a = document.createElement("a"); doCss(a); doEvent(a); doAttribute(a) document.body.appendChild(a); |
1 2 3 4 5 6 7 8 |
<html> <head> <link href="style.css" rel="stylesheet" /> </head> <body> <script src="bundle.js" ></script> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 |
`購買蘋果按鈕`綁定事件如下: 1.int 蘋果數(shù)變量 + 1; 2.顯示蘋果數(shù)控件的值 = 蘋果數(shù)變量; `購買梨按鈕`綁定事件如下: 1.int 梨數(shù)變量 + 1; 2.顯示梨數(shù)控件的值 = 梨數(shù)變量; ...`吃蘋果` ...`吃梨` |
1 2 3 4 5 |
`購買蘋果按鈕`綁定事件如下: 1.int 蘋果數(shù)變量 + 1; 2.int 總和變量 = 蘋果數(shù)變量 + 梨數(shù)變量; 2.顯示蘋果數(shù)控件的值 = 蘋果數(shù)變量; 3.顯示總和控件的值 = 總和變量; |
這次 程序員B為了人身安全,提前把 get/set 接口發(fā)布到了 wiki上。。
于是 總和控件的值 = 總和變量 這行代碼出現(xiàn)了 4次。
產(chǎn)品存在的意義,就是將程序狗虐到極致:
于是需求改成了這樣:
只是刪了一行。
于是 4個函數(shù)中所有相關(guān)代碼都被刪除。。。 共影響 4行代碼。。
段子講完了,其核心問題在于,按照事件進行的業(yè)務(wù)模塊劃分,有時候是不合理的,事件是用戶行為的入口,但不是程序邏輯的入口。 一個button的click就可能橫跨N個領(lǐng)域, 需要N個人來進行協(xié)作, 這部分邏輯到最后還是會耦合在一起,通過各種函數(shù)封裝進行解耦,無疑是揚湯止沸,而我們需要的是釜底抽薪
(第一節(jié)結(jié)束)
本文版權(quán)歸傳智播客web前端開發(fā)學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處,謝謝!
作者:傳智播客web前端培訓學院;
首發(fā):http://xamj520.com/web/