tft每日頭條

 > 生活

 > stl語言如何做一個數據篩選的函數

stl語言如何做一個數據篩選的函數

生活 更新时间:2025-05-16 02:19:06

身為現代社畜,自然免不了被多任務無情轟炸的命運。每一個996打工人都必須學會分清輕重緩急,有條不紊地完成大小Boss交待的各色任務。

Notion的ToDo已經有很多模闆了,但如何合理地安排任務池中ToDoList的優先級,讓工作自動按輕重緩急進行排序并推送,似乎還不夠理想。

按工作重要性和緊急程度劃分四象限的原理,可以将任務進行優先級評分。根據個人對任務的重視程度,可以對重要性進行賦值,但工作緊急程度怎麼設置更為合理呢?

依照我們大多數人的工作習慣,簡單任務提前一兩天提醒,就可以了;重要的或者工作量較大的任務提前一兩周,就比較合适;遠期任務如年度計劃什麼的,拆分為多個小目标會更好。所以,更貼近實際工作習慣的提醒時間點為緊急任務的deadline當天或者前後兩三天,重要任務提前一周或者大半個月,兩個月之後的遠期工作規劃基本上是暫時不需要提醒的,超過deadline的工作如何老闆仍在催要的,緊急程度肯定是要更上層樓的。

deadline剩餘天數的計算很容易實現,Notion的dateBetween()函數可以輕松實現——

dateBetween(prop("Deadline"), now(), "days")

獲得剩餘天數後,如何實現不規則的緊急程度提示呢?比較了多種函數之後,最終選擇的是ln()函數。我們已知:

ln(1)=0

ln(2)=0.6

ln(3)=1.1

ln(8)=2.1

ln(21)=3.0

ln(55)=4.0

ln(149)=5.0

……

通過自然對數的模拟,可以較好地拟合按工作緊急程度進行提醒的需求。

但測試中發現由于“ln(0)=∞”,所以會出現deadline當天報錯的情形,因此特别“ 0.5”天,避免ln(0)的情形出現,令函數不再報錯。最終任務随日期變化緊急程度的函數設置為——

if(prop("Deadline") < now(), 7, floor(5 - ln(abs(dateBetween(prop("Deadline"), now(), "days") 0.5))))

stl語言如何做一個數據篩選的函數(運用ln函數設置Notion的任務推送優先級)1

簡單地來說,就是根據當下距離deadline的時間,按自然對數ln函數設計緊急程度——

  1. 今天deadline或者已經過了deadline的是最高緊急程度7級
  2. 明天到期的是5級
  3. 3天之後的是4級
  4. 7天之後是3級
  5. 3周之後的是2級
  6. 2個月之後完成的降為1級
  7. 5個月之後的事情是0級

引入ln函數的緊急程度設計基本貼合個人工作需求,再加上工作責任和任務的重要等級,就可以較好地進行任務重要性和緊急程度的排序和優先級排序了。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved