成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有時候,技術(shù)問題的最優(yōu)解并不是從技術(shù)考慮

開發(fā) 前端
作為搞通用服務(wù)的同學,要接近業(yè)務(wù),又不能讓自己陷入業(yè)務(wù)。回到本文的例子,如果你替業(yè)務(wù)同學實現(xiàn)了業(yè)務(wù)邏輯打點上報還不知會他們。未來業(yè)務(wù)需求變化導(dǎo)致代碼變化后,打點上報有誤,這是誰的鍋呢?

大家好,我卡頌。

最近我們技術(shù)群發(fā)生個事兒,我覺得還挺有代表性的。有時候,技術(shù)問題的最優(yōu)解并不是從技術(shù)考慮。

對于工作時間不長的程序員,這篇文章可能對你有幫助。

事情起因

事情起因是一位同學在群里問:“怎么獲取react element對應(yīng)dom中的文本?”

為什么想獲取文本內(nèi)容呢,原來他是想做「交互的打點上報功能」

他希望這個打點上報功能是完全自動化、業(yè)務(wù)無感知的。但這里存在一個悖論:如果打點上報是“業(yè)務(wù)無感知的”,那打點功能肯定要和業(yè)務(wù)解耦。既然和業(yè)務(wù)解耦,就無法記錄“業(yè)務(wù)的完整操作鏈路”。

那么類似“用戶點擊了一個按鈕,我想知道這個按鈕是否在對話框中,如果在,取出對話框的標題上報”就無法實現(xiàn)。

想一想,如果是你,會怎么實現(xiàn)這個功能呢?

功能實現(xiàn)

這位同學的做法是 —— 梳理現(xiàn)有業(yè)務(wù)邏輯中的組件層級,從特定的層級里拿數(shù)據(jù)。

比如Modal組件的標題渲染成HTML是:

<div>
  <h1>這里是標題</h1>
</div>

那么他會按div -> h1這樣的層級結(jié)構(gòu)取標題數(shù)據(jù)。具體實現(xiàn)還涉及很多hack的方法。

比如,組件沒有掛載時如何獲取數(shù)據(jù)?他通過把組件掛載在一個離屏DOM上,再分析他:

function analyzeCpn(node: ReactNode) {
  const div = document.createElement('div');
  const root = reactDOM.createRoot(div);
  flushSync(() => root.render(node));
  // ...分析 div.innerHTML
}

再比如,如何根據(jù)DOM不同,增加一些特殊的屬性呢?可以覆寫jsx、React.createElement方法。

問題

這么實現(xiàn),當前項目確實沒問題。但有個很現(xiàn)實的問題:隨著業(yè)務(wù)不斷迭代,如果哪天組件結(jié)構(gòu)變了,按以往結(jié)構(gòu)獲取數(shù)據(jù)就會失敗,難道我還得跟著業(yè)務(wù)一起改打點上報代碼么?

一個打點上報功能硬生生開發(fā)成了爬蟲功能。

但是,這位同學并不覺得這有問題。從他的回答看,他的思想是 —— 技術(shù)問題就應(yīng)該交給技術(shù)解決。

實際上有時候,技術(shù)問題的最優(yōu)解并不是從技術(shù)考慮。就像遇到產(chǎn)品的不合理需求,我們首先思考的,不應(yīng)該是“如何實現(xiàn)他”,而是“從哪個角度把需求懟回去”。

就本文的例子來說,一種合理的解決方式是:

  • 調(diào)研一下主流打點上報庫的實現(xiàn)邏輯。
  • 調(diào)研完畢后和領(lǐng)導(dǎo)溝通。
  • 溝通好后讓領(lǐng)導(dǎo)拉個會,會上把你的方案跟大家同步一下,讓大家知道上報方案如何實現(xiàn)。
  • 各個業(yè)務(wù)同學認領(lǐng)自己那部分的打點上報需求,遇到技術(shù)問題和你溝通,你輔助解決。

總結(jié)

作為搞通用服務(wù)的同學,要接近業(yè)務(wù),又不能讓自己陷入業(yè)務(wù)。

回到本文的例子,如果你替業(yè)務(wù)同學實現(xiàn)了業(yè)務(wù)邏輯打點上報還不知會他們。未來業(yè)務(wù)需求變化導(dǎo)致代碼變化后,打點上報有誤,這是誰的鍋呢?

業(yè)務(wù)同學會說:我根本不知道打點這回事兒啊。

到時候你就欲哭無淚了。

所以,明確自己的工作職責,做好向上管理,不是所有技術(shù)問題都得靠技術(shù)解決。

責任編輯:姜華 來源: 魔術(shù)師卡頌
相關(guān)推薦

2023-06-25 20:07:57

云計算

2021-07-15 06:43:12

SQLSelect命令

2019-02-20 09:10:40

Java并發(fā)隊列編程語言

2022-03-13 23:19:04

元宇宙區(qū)塊鏈數(shù)字貨幣

2011-07-26 13:47:06

AndroidLinux

2017-10-18 22:18:09

2015-12-17 11:04:00

云開支云計算

2021-09-14 07:32:58

元宇宙VRAR

2015-05-08 07:29:42

OpenStack云方案云服務(wù)成本

2010-02-05 17:02:13

Android

2015-08-05 10:05:31

虛擬化容器技術(shù)

2011-07-28 09:45:59

云計算

2011-08-31 15:52:26

微軟

2021-06-24 08:20:15

MySQL數(shù)據(jù)庫索引

2025-03-20 08:10:00

人工智能數(shù)據(jù)AI

2013-05-02 16:21:26

APP

2010-06-10 14:49:07

協(xié)議轉(zhuǎn)換器

2018-11-27 14:57:00

IPv6IPv4網(wǎng)絡(luò)

2021-06-11 09:23:30

微服務(wù)架構(gòu)分層架構(gòu)

2017-01-12 09:11:07

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人亚洲片 | 欧美日韩黄色一级片 | 久久精品色欧美aⅴ一区二区 | 国产网站在线免费观看 | 久久午夜视频 | 天天操综合网站 | 天天拍天天色 | 国产在线观看一区二区 | 国产精品久久久久久久久久三级 | 精品免费国产视频 | 最近最新中文字幕 | 亚洲视频在线一区 | 日本一区二区三区在线观看 | 伊大人久久 | 日本色综合 | 真人女人一级毛片免费播放 | 久久久久久国产精品免费免费狐狸 | 在线免费观看a级片 | 免费观看一级黄色录像 | 久久高清| 久久久久av | www.天堂av.com | 欧美精品一区在线 | 国产精品高潮呻吟久久aⅴ码 | 刘亦菲国产毛片bd | 蜜桃精品噜噜噜成人av | 天天爽综合网 | 本道综合精品 | 国产精品s色 | 欧美日韩a | 国产一区免费视频 | 日韩一区二区成人 | 伊人春色成人 | 亚洲免费在线观看视频 | 日韩精品亚洲专区在线观看 | 成年人在线观看 | 成人精品在线视频 | 美女日批免费视频 | 久久久久网站 | 久久一区视频 | 91视频在线 |