工作原則之深層次思考

2021-10-07 11:45:41 字數 577 閱讀 3567

問題/錯誤

遇到問題、功能缺陷、設計方案時,急於解決(適配)表面上的問題,不能看清問題背後本質的原因。

例子某個需求全域性都是通的,到最後的b端賬單環節發現某個欄位不符合預期。此時發現前置交易流程中有一些一開始就有的為實現需求而做的妥協/便利。此時有幾種解決方案:

(1)交易流程實現不變,在與賬單/結算流程互動時做相容。(大坑)

(2)交易流程改變部分實現,與c端做相容。(大坑,將1中的矛盾轉移到了c端)

(3)前後端全流程統一模型,c端和交易流程同時修改。實現外部視角看全流程統一,內部實現可適當保留不一致,保證最小修改同時完成需求並統一流程。

(4)賬單/結算側做修改(沒人願意做,屬於甩鍋)

原則遇到問題時,往往有一下幾種思考方向:

為什麼不可能實現的方案也是一種思考方向?當深層次挖掘問題時,一定要站在全域性、每個方向/模組的角度來全面思考解決方案。在這個過程中,難免會得到(4)這種方案。要始終記住,你需要做到的是,提出站在不同角度的幾種解決方案,並闡述清楚其優劣,而最終做決定的是大家。你不是來指揮大家的,而是作為團隊一員分析所有路徑,找到最優解。

物件的深層次獲取

故心故心故心故心小故衝啊 在寫 的時候遇到乙個問題,在訪問乙個物件巢狀物件在巢狀物件,例如 var obj 獲取c的值 obj.a.c 123那麼如果只能通過obj 的方式應該如何去獲取呢?這樣獲取嗎?obj a.c 錯誤那麼如何實現obj 這樣的方式獲取呢?可以從上面可以知道obj.a.c 是可以...

由 128的補碼引出的深層次思考。

一般的說法是負數的補碼為其原碼除符號位外取反然後總體加一,也就是說,要得到乙個負數數的補碼,要先知道這個負數的原碼才行。那麼,問題出現了,在8位長度下,128的原碼與反碼都不存在,因為乙個位元組的有符號數的原碼範圍是 127 127 既然不存在 128的原碼那麼就無法求出 128 的補碼了,怎麼辦?...

由 128的補碼引出的深層次思考

一般的說法是負數的補碼為其原碼除符號位外取反然後總體加一,也就是說,要得到乙個負數數的補碼,要先知道這個負數的原碼才行。那麼,問題出現了,在8位長度下,128的原碼與反碼都不存在,因為乙個位元組的有符號數的原碼範圍是 127 127 既然不存在 128的原碼那麼就無法求出 128 的補碼了,怎麼辦?...