複雜專案-新功能無法 release 的警惕

更新 發佈閱讀 3 分鐘

前情提要

之前要做一個影片編輯器的功能更新,原始功能是點擊字型選單的選項後,更新字型。現在要懸停在上面就要把字型 preview 給使用者看

字型的變更的時候會去更新整個 編輯器 (video) 的 state。

研究階段

研究後有以下發現,我只要把原始變更字型的 function 塞到 menu item 的 mouse enter 就好,然後在 mouse enter 一開始做一個 snapshot。在 click out side 把它還原,click on item 時直接變更。

實作階段

第一個狀況

咦,等等是不是有一個 undo 跟 redo,wtf 剛剛沒考慮到。變更字型就會在 undo 跟 redo 的 stack 塞紀錄。既有的那些 function 有沒有辦法讓我在 mouse enter 時忽略 redo 跟 undo 呢?還真的有,在那邊控制一下好了。

第二個狀況

mouse enter 移動時好像有點慢,還好我知道要加 debouce 不要 apply 那麼多次 font。

爆炸

為何我 click item 變更 font 得時候 undo 不回去?幹,由於 push undo 跟 redo 的 stack 放在同一個 function。執行方式如下:

  1. push current state to undo
  2. execute state change with a callback
  3. push the current state to redo

um...所以我的的 step1 的 state 因為好幾個 mouse enter 最後停留在我現在要點擊的 font style 上,所以 current state 壞了。解法也很簡單,就 click item 時把 紀錄好的 snapshot 塞回到 undo 底下,apply 完再塞 current state。

但...我採用 reuse old fuction 所以很多功能必須要拆開來重寫。而我沒有時間了...當初估計三天,現在四天後果斷跟 PM 說,priority 是 low,可不可以先把其他的先做一做往後延。

結論

有時候理想的簡單解,可能會被其他功能影響。評估還是得詳細做,不然可能會出很多包



留言
avatar-img
留言分享你的想法!
avatar-img
工程師隨手寫
0會員
9內容數
JavaScript 資深工程師,前後端都會一點 常常在程式碼中發現自己幾年前丟出的迴力鏢
你可能也想看
Thumbnail
最近整理了一下蝦皮的訂單紀錄,發現自己這一年默默也回購了不少好用的東西~從生活療癒系的小物、實用的除臭保養、到打掃家裡必備的清潔用品都有。這次也順便一起整理了「準備在雙12補貨的清單」,如果剛好你也有在找類似的品項,希望這篇可以給你一些參考。 秘魯進口 高油版聖木 這款聖木我覺得很棒,就是聞起來
Thumbnail
最近整理了一下蝦皮的訂單紀錄,發現自己這一年默默也回購了不少好用的東西~從生活療癒系的小物、實用的除臭保養、到打掃家裡必備的清潔用品都有。這次也順便一起整理了「準備在雙12補貨的清單」,如果剛好你也有在找類似的品項,希望這篇可以給你一些參考。 秘魯進口 高油版聖木 這款聖木我覺得很棒,就是聞起來
Thumbnail
在這個網購紅海時代,你是否也跟作者一樣,最後總是點開蝦皮?從拯救文字工作者的老腰的護脊椅墊,到深夜腦力激盪必備的韓國不倒翁泡麵,作者分享了雙12購物清單中的兩樣「生存」與「靈魂」好物。更重要的是,文章揭露了「蝦皮分潤計畫」如何讓創作者低門檻變現,填滿你的小荷包,實現數位遊牧的夢想。
Thumbnail
在這個網購紅海時代,你是否也跟作者一樣,最後總是點開蝦皮?從拯救文字工作者的老腰的護脊椅墊,到深夜腦力激盪必備的韓國不倒翁泡麵,作者分享了雙12購物清單中的兩樣「生存」與「靈魂」好物。更重要的是,文章揭露了「蝦皮分潤計畫」如何讓創作者低門檻變現,填滿你的小荷包,實現數位遊牧的夢想。
Thumbnail
生完寶寶後 我真的深刻感受到一句話: 「睡不好,皮膚就先離家出走」 常常半夜起來哄寶寶、睡眠不規律 膚況也跟著黯淡、失去彈性>< 身為剛生完孩子的新手媽媽,我現在最在意的兩件事就是: 皮膚要彈潤、睡眠要穩定!! 這陣子我開始嘗試日夜搭配的膠原蛋白: 🌞 TIMESEAL 日間款
Thumbnail
生完寶寶後 我真的深刻感受到一句話: 「睡不好,皮膚就先離家出走」 常常半夜起來哄寶寶、睡眠不規律 膚況也跟著黯淡、失去彈性>< 身為剛生完孩子的新手媽媽,我現在最在意的兩件事就是: 皮膚要彈潤、睡眠要穩定!! 這陣子我開始嘗試日夜搭配的膠原蛋白: 🌞 TIMESEAL 日間款
Thumbnail
發現每天固定一個小動作,肌膚整體狀態真的會更穩定,照鏡子的心情也跟著好起來。 早上我習慣吃一包 TIMESEAL 早安膠原蛋白,粉末狀、很好入口,使用小分子技術,搭配維生素C與專利原料 ( 雙胜肽膠原、PANMOL® NADH)。對我來說,就是先把一天的彈潤感打好底,也讓整天狀態更有精神。 晚
Thumbnail
發現每天固定一個小動作,肌膚整體狀態真的會更穩定,照鏡子的心情也跟著好起來。 早上我習慣吃一包 TIMESEAL 早安膠原蛋白,粉末狀、很好入口,使用小分子技術,搭配維生素C與專利原料 ( 雙胜肽膠原、PANMOL® NADH)。對我來說,就是先把一天的彈潤感打好底,也讓整天狀態更有精神。 晚
Thumbnail
今日無操作, 不知道是系統更新還是怎樣,過去可以複製貼上的功能被修改掉了,需要思考一下如何快速更新文章了。
Thumbnail
今日無操作, 不知道是系統更新還是怎樣,過去可以複製貼上的功能被修改掉了,需要思考一下如何快速更新文章了。
Thumbnail
事源我有個文檔用了前公司最新版本After Effect保存 帶回家才發現這個版本不兼容。而且第一個版本都不能打開(這也算AE超白癡的地方,2023都就已經不能打開2024的文檔)。
Thumbnail
事源我有個文檔用了前公司最新版本After Effect保存 帶回家才發現這個版本不兼容。而且第一個版本都不能打開(這也算AE超白癡的地方,2023都就已經不能打開2024的文檔)。
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
今天來分享一個好像有點廢的小技巧 把網頁變成可以直接用來打字的文字編輯器
Thumbnail
今天來分享一個好像有點廢的小技巧 把網頁變成可以直接用來打字的文字編輯器
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
Thumbnail
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
Thumbnail
權限管理=新增、修改、刪除+審核 通常,這種程式的設計會包含權限管理,其中包括現場修改、刪除等三大類功能。然而,根據經驗,我們還需要關注另一類功能,即審核權限。 審核不執行新增 審核權限通常不執行新增的動作,僅限於某些欄位的輸入。新增、修改、刪除這些操作基本上是容易理解的。也就是說,對於這個工
Thumbnail
權限管理=新增、修改、刪除+審核 通常,這種程式的設計會包含權限管理,其中包括現場修改、刪除等三大類功能。然而,根據經驗,我們還需要關注另一類功能,即審核權限。 審核不執行新增 審核權限通常不執行新增的動作,僅限於某些欄位的輸入。新增、修改、刪除這些操作基本上是容易理解的。也就是說,對於這個工
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News