糾正規則中斷的成本

2021-10-06 23:32:29 字數 1232 閱讀 9162

上週, sonar團隊的simon brandhof和freddy mallet和我在討論vaadin的用法。 在會議結束時,儘管vaadin最終不符合他們在sonar方面的特殊需求,但談話轉向了質量。

如sonar的普通使用者所知,前者包括乙個非常有趣的外掛程式,恰當地稱為technical debt外掛程式。 提醒一句:

交付第一次**就像陷入債務。 只要通過重寫及時償還債務,一點債務就可以加快發展速度....如果不償還債務,就會發生危險。 花在不完全正確的**上的每一分鐘都算作該債務的利息。 整個工程組織可能在未合併的實施,物件導向或其他方面的債務負擔下停滯不前

—沃德·坎寧安

因此,這個不錯的外掛程式可以量化與專案中的規則中斷相關的成本。 從零開始還有很長的路要走,但仍然只是單方面的爭論。 讓我解釋一下:無論是作為建築師還是開發人員,我們都是技術導向的人。 問題在於,更正違反規則不是我們技術人員的決定。 它們是由傾向於有不同心態的管理者製作的。 我向經理們道歉,但是我將以他們的集體名義發言:到目前為止,我的觀察使我相信經理們會在成本和風險方面進行思考(如果我錯了,請糾正我)。

好的是,上述外掛程式為每個規則中斷分配了補償費用:它與管理人員對話。 他們知道糾正中斷將花費多少。 成本是通過乙個簡單的公式計算得出的:校正時間(包括找到正確的位置,簽出,更正**本身,簽入)乘以工資成本。 另一方面,為了做出正確的決定,管理者必須知道與不進行糾正相關的成本。 麻煩在於:我們如何提供呢?

現在,我們的技術人員會因為規則的遺傳性或來之不易的規則而對規則的違反感到不滿意。 對於我來說,我在開發時就成了廢話,但我從中學到了:例如,我現在可以理解為什麼迴圈依賴不好,因為我對它進行了編碼並不得不處理與之相關的問題(嗯,我編譯什麼)第一?)。 如今,我可以告訴它不好,為什麼不好,並盡我所能避免。 我什至可以將成本分配給某些特定的週期,但是這只會讓人感到膽怯,並且可能會受到任何僅對計畫和成本進行評估(並且不對維護進行任何評價)的專案經理的挑戰。

您現在看到了整個嗎? 一方面,我們使用技術債務概念和sonar外掛程式來量化質量成本,但另一方面,對於「無法解決」則無法做到這一點。 我們可以宣傳我們想要的所有關於質量的資訊,只要我們不能貨幣化這兩個成本,就只會苦惱質量的緩慢改進。

解決方案? 這將需要一些時間,但是我們可以建立度量標準,該度量標準將隨每個專案進行完善,並且可能會導致每個規則中斷產生一些平均成本。 不幸的是,這需要已經存在的面向質量的心態成為我們的目標。 誰說雞肉和雞蛋?

翻譯自:

旗正規則引擎的產品設計

什麼是規則引擎 規則引擎是一種採用人類能理解的術語 簡稱類自然語言 來描述業務邏輯 如各類公式 演算法 策略 流程等 並且解析執行的軟體程式。對於一般的資料處理邏輯以及判斷邏輯,規則引擎可以直接採用業務人員自己定義的術語,來對其進行描述。使得這些業務邏輯可以脫離程式外進行單獨配置和管理,已滿足其後期...

詞法分析(二) 詞法規則的形式化 正規式與正規集

複習一下語法描述的基本概念 字母表 乙個有窮字符集,記為 字母表中的每個元素稱為字元 上的字 字串 由 中的字元構成的乙個有窮序列 不包含任何字元的序列稱為空字,記為 表示 上所有字的全體 上所有字元所能產生的字 包含空字 例 設 則 若u v為 的兩個子集,則u和v的連線 積 定義為 uv 順序不...

關於旗正規則引擎中的MD5加密問題

一般情況下,為了防止個人隱私的洩露,我們都會對使用者登入密碼進行加密,使資料庫相應字段儲存的是加密後的字串,而非原始密碼。在旗正規則引擎中,通過外部呼叫,可以實現md5的加密,具體步驟如下 1.在物件庫中選擇外部呼叫,選擇 com.flagleader.util.md5 在子選項中選擇 com.fl...