Leo's Technical Debt

So many things, so little time.

WPF 引動過程的目標傳回例外狀況

引動過程的目標傳回例外狀況 發生原因 在XAML中把元件的屬性 Binding在ViewModel中的屬性上,如果ViewModel在執行的過程中發生例外就會跳出來這個例外 StaticResource 我們常常為了不要讓CodeBehind有程式碼,會把ViewModel的宣告拿到Xaml的Resource裡面 如果在Resource產生ViewModel實例(instance)的時候發......

DI注入依賴

為啥要用DI 之前有寫一篇實現DIP原則,主要就是把類別的屬性、方法設計在介面中,然後讓一個類別去繼承這個介面實作出來,讓產生的實例依賴在介面上去符合DIP,使用的時候大概是長這樣 12345678910111213141516171819class Program{ static void Main(string[] args) { ISend......

DIP

反轉依賴原則(Dependency Inversion Principle) 解釋 High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should de......

yolo

參考來源 我是參考這篇文章 [機器學習 ML NOTE]YOLO!!!如何簡單使用YOLO訓練出自己的物件偵測!!! (Windows+Anaconda) 遇到問題 Tensorflow tensorflow目前只支援到python3.7,python3.7還只能裝版本2.0.0以下的tensorflow,因為tensorflow 2.0.0 開始移除了一個 tensorflow.contr......

Jetbrains工具快捷鍵名稱

快捷鍵名稱 移動到方法 : Main menu\ Navigate\ Go to Declaration or Usages 執行 : Run 停止執行 : Stop Debug : Debug 打開所有程式碼 : Expand All 收合所有程式碼 : Collapse All 註解/取消註解 : Comment/Uncomment Code Debug時中斷的下一步 : Run\ D......

Python常用語法

語法 例外處理 1234try: # do some thingexcept Exception as e: print('error' + e.args[0]) 程式進入點 12if __name__ == '__main__': # do something 字串處理 substring 1234Name = 'Leo1234567890'result = Name[1:2]pri......

StyleCop

透過StyleCop檢查Coding StyleStyleCop 1. 安裝VisualStudioExtension 2. 檢查專案 2.1 CodingStyle 可以檢查那些檔案沒有符合團隊的CodingStyle,不用每次都要人工檢查 執行結果: 2.2 檢查程式碼度量 可以量化程式的可維護性、複雜度、繼承深度、類別結合程度,看程式哪邊的耦合性太強,跟AXOCover測試結果......

NUnit

NUnit NUnit是什麼 NUnit是一種測試框架,常見的還有MSTest、xUnit,但因為我需要免費的工具(AXOCover)去看測試涵蓋率,所以選了一個AXOCover有支援的測試框架 Visual Studio 使用NUnit執行單元測試 安裝visual studio NUnit2 test adapter extension 一定要裝,不然不能執行NUnit測試框架(Vis......

WPF DataGrid

簡單DataGrid範例 畫面 程式(MVVM) 1. DataModel.cs 123456789namespace DataGridDemo{ //定義ViewModel中資料集合每筆資料有哪些欄位 class DataModel { public string Name { get; set; } ......

WPF Binding Command

為什麼要用Command不用事件 改用Command取代掉事件可以避免記憶體洩漏 可以降低畫面跟程式的耦合性,可以更好釐清問題發生的地方 開發邏輯的人可以直接測試Command引發的動作 定義一個Command 123456789101112131415161718192021//繼承ICommand interface並實做方法public class RelayCommand : I......