2022年1月23日 星期日

[錯誤處理] error C2243: '類型轉換' :轉換已經存在,但無法存取

問題是這樣發生的,我很常用SerialPort與Ethernet進行通訊,

因此整理出一個共同的介面讓兩個類別去繼承,

再用工廠方法包裝起來,這樣往後只需要呼叫communication類別就好了,

就是一個簡單工廠加策略模式的應用,架構如下:

2022年1月22日 星期六

單元測試的藝術 - Chapter 2.3 驗證預期的例外

其實在這個主題之前,書中還有介紹SetUp與TearDown,

但因作者強烈不建議使用,因此我就直接跳過了。

直接來看怎麼驗證Exception。

2022年1月20日 星期四

2022年1月17日 星期一

單元測試的藝術 - Chapter 2.2 第一次UnitTest重構

呼應上一張的流程,測試成功之後的下個步驟 : 重構。

其實只是要介紹一個普遍的情況,當想測試的參數多變的話,那不就要寫一堆TestCase嗎?

此時就會出現大量重複的程式碼,且如果參數改變時,所有的TestCase都必須修正,

當測試多達幾十個甚至上百個時,那麼維護就會是一個大問題。

因此作者馬上介紹如何使用參數來重構測試。

2022年1月16日 星期日

2022年1月15日 星期六

[C++]動態陣列如何確定長度?

實務上常常會遇到即使是呼叫同一個指令,但回傳的DATA的長度卻不一,

當這串資料是動態陣列的時候,往往透過sizeof()或strlen()得知長度值,那該如何確認呢?

2022年1月12日 星期三

單元測試的藝術 - Chapter 2.1 第一個單元測試

這一章說明了測試框架能夠帶給使用者什麼實質上的功能與幫助,

也說明了該如何安裝NUnit,但主要是以文字敘述,

雖然很簡單,但我在多個專案中的環境設定就遇到一點小問題,在這邊紀錄一下。

2022年1月10日 星期一

[C#] thread.join()方法

MSDN的說明,有些就算是中文也很難看的懂,

這就是為什麼微軟MVP被稱做MVP的原因之一?

2022年1月9日 星期日

[重構] Exception : 0xC00041D , 建構子不能呼叫同類別的多載建構子?

先說問題,我有好幾個建構子,彼此之間有相同的程式碼,

因此重構之後發現出現 Exception : 0xC00041D,

才發現建構子是不能直接呼叫建構子的,必須用特殊的格式來呼叫,以下描述始末:

2022年1月8日 星期六

2022年1月5日 星期三

[錯誤處理] error C1010 : 您的原始檔中是否忘了加上'#include "stdafx.h"'?

我想這個error是每個寫C語言的初學者都會碰到的問題吧?

但第一次遇到時總是不知道該如何處理,明明已經加上 #include "stdafx.h"了,

卻還是會出現這個錯誤。

2022年1月3日 星期一

單元測試的藝術 - Chapter 1 單元測試基礎

由於剛轉職,接觸到不少既有的程式碼,閱讀的同時也著手重構了一點程式碼,

改起來心驚驚,便想著是否能夠替既有的程式碼增加一些好的改變。

而之前讀完Clean Code,書中也提到,程式碼必須不斷的重構才能易讀易維護,

重構的前提是必須有測試進行保護,因此既然既有的程式碼中並沒有單元測試,

為什麼不趁這個閱讀的機會,來試著學習並實踐單元測試看看。

社會新鮮人如何投資?

我的觀點是,在 沒有很多 本錢 的情況下, 別寄望每個月幾千元放到股票或者最近很夯的高股息ETF就能讓你致富, 先投資自己,讓自己的本業收入提高吧。