日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

有時候,技術問題的最優解并不是從技術考慮

來源: 責編: 時間:2024-01-15 09:22:12 202觀看
導讀大家好,我卡頌。最近我們技術群發生個事兒,我覺得還挺有代表性的。有時候,技術問題的最優解并不是從技術考慮。對于工作時間不長的程序員,這篇文章可能對你有幫助。事情起因事情起因是一位同學在群里問:“怎么獲取react el

Vlk28資訊網——每日最新資訊28at.com

大家好,我卡頌。Vlk28資訊網——每日最新資訊28at.com

最近我們技術群發生個事兒,我覺得還挺有代表性的。有時候,技術問題的最優解并不是從技術考慮。Vlk28資訊網——每日最新資訊28at.com

對于工作時間不長的程序員,這篇文章可能對你有幫助。Vlk28資訊網——每日最新資訊28at.com

事情起因

事情起因是一位同學在群里問:“怎么獲取react element對應dom中的文本?”Vlk28資訊網——每日最新資訊28at.com

Vlk28資訊網——每日最新資訊28at.com

為什么想獲取文本內容呢,原來他是想做「交互的打點上報功能」Vlk28資訊網——每日最新資訊28at.com

Vlk28資訊網——每日最新資訊28at.com

他希望這個打點上報功能是完全自動化、業務無感知的。但這里存在一個悖論:如果打點上報是“業務無感知的”,那打點功能肯定要和業務解耦。既然和業務解耦,就無法記錄“業務的完整操作鏈路”。Vlk28資訊網——每日最新資訊28at.com

那么類似“用戶點擊了一個按鈕,我想知道這個按鈕是否在對話框中,如果在,取出對話框的標題上報”就無法實現。Vlk28資訊網——每日最新資訊28at.com

想一想,如果是你,會怎么實現這個功能呢?Vlk28資訊網——每日最新資訊28at.com

功能實現

這位同學的做法是 —— 梳理現有業務邏輯中的組件層級,從特定的層級里拿數據。Vlk28資訊網——每日最新資訊28at.com

比如Modal組件的標題渲染成HTML是:Vlk28資訊網——每日最新資訊28at.com

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

那么他會按div -> h1這樣的層級結構取標題數據。具體實現還涉及很多hack的方法。Vlk28資訊網——每日最新資訊28at.com

比如,組件沒有掛載時如何獲取數據?他通過把組件掛載在一個離屏DOM上,再分析他:Vlk28資訊網——每日最新資訊28at.com

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

再比如,如何根據DOM不同,增加一些特殊的屬性呢?可以覆寫jsx、React.createElement方法。Vlk28資訊網——每日最新資訊28at.com

問題

這么實現,當前項目確實沒問題。但有個很現實的問題:隨著業務不斷迭代,如果哪天組件結構變了,按以往結構獲取數據就會失敗,難道我還得跟著業務一起改打點上報代碼么?Vlk28資訊網——每日最新資訊28at.com

一個打點上報功能硬生生開發成了爬蟲功能。Vlk28資訊網——每日最新資訊28at.com

但是,這位同學并不覺得這有問題。從他的回答看,他的思想是 —— 技術問題就應該交給技術解決。Vlk28資訊網——每日最新資訊28at.com

Vlk28資訊網——每日最新資訊28at.com

實際上有時候,技術問題的最優解并不是從技術考慮。就像遇到產品的不合理需求,我們首先思考的,不應該是“如何實現他”,而是“從哪個角度把需求懟回去”。Vlk28資訊網——每日最新資訊28at.com

就本文的例子來說,一種合理的解決方式是:Vlk28資訊網——每日最新資訊28at.com

  • 調研一下主流打點上報庫的實現邏輯。
  • 調研完畢后和領導溝通。
  • 溝通好后讓領導拉個會,會上把你的方案跟大家同步一下,讓大家知道上報方案如何實現。
  • 各個業務同學認領自己那部分的打點上報需求,遇到技術問題和你溝通,你輔助解決。

總結

作為搞通用服務的同學,要接近業務,又不能讓自己陷入業務。Vlk28資訊網——每日最新資訊28at.com

回到本文的例子,如果你替業務同學實現了業務邏輯打點上報還不知會他們。未來業務需求變化導致代碼變化后,打點上報有誤,這是誰的鍋呢?Vlk28資訊網——每日最新資訊28at.com

業務同學會說:我根本不知道打點這回事兒啊。Vlk28資訊網——每日最新資訊28at.com

到時候你就欲哭無淚了。Vlk28資訊網——每日最新資訊28at.com

所以,明確自己的工作職責,做好向上管理,不是所有技術問題都得靠技術解決。Vlk28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-60998-0.html有時候,技術問題的最優解并不是從技術考慮

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 我愿稱之為開源界最好用的行為驗證碼

下一篇: 面試官問:synchronized為什么是重量級鎖?

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 一文看懂為蘋果Vision Pro開發應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現實(MR)頭戴設備。Vision Pro結合了虛擬現實(VR)和增強現實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • 為什么你不應該使用Div作為可點擊元素

    按鈕是為任何網絡應用程序提供交互性的最常見方式。但我們經常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內置瀏覽器的功能。
  • 騰訊VS網易,最卷游戲暑期檔,誰能笑到最后?

    作者:無銹缽來源:財經無忌7月16日晚,上海1862時尚藝術中心。伴隨著幻象的精準命中,碩大的熒幕之上,比分被定格在了14:12,被寄予厚望的EDG戰隊以絕對的優勢戰勝了BLG戰隊,拿下了總決
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風頭無兩。你可以說陳思誠的
  • 認真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關心的&ldquo;網紅&rdquo;。7月5日至9日,為期5天的東方甄選&ldquo;甘肅行&rdquo;首次在自有App內直播,
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • 電博會上海爾智家模擬500平大平層,還原生活空間沉浸式體驗

    電博會為了更好地讓參展觀眾真正感受到智能家居的絕妙之處,海爾智家的程傳嶺先生同樣介紹了展會上海爾智家的模擬500平大平層,還原生活空間沉浸式體驗。程傳
Top 主站蜘蛛池模板: 朝阳县| 金华市| 温州市| 革吉县| 丰镇市| 嫩江县| 乌海市| 浦东新区| 云梦县| 灵璧县| 吐鲁番市| 海安县| 探索| 汝阳县| 孟津县| 滦南县| 耒阳市| 岚皋县| 武冈市| 湖南省| 两当县| 南开区| 辰溪县| 永顺县| 抚顺县| 伊川县| 凉城县| 万山特区| 库车县| 九龙县| 安岳县| 渑池县| 仙居县| 老河口市| 丰镇市| 云和县| 湘潭县| 西乡县| 江山市| 钟山县| 青海省|