[157] 調整 Visual Studio 工具列控制項的寬度

任務是調整下圖箭頭所指處的控制項寬度: 這個 Build Configuration 的寬度預設值很窄,窄到多幾個字元就爆了。很痛苦,以前每次安裝新環境都要改一次,然後每次都忘記怎麼改。這種情況呢,記下來就對了。步驟如下: 控制項上按滑鼠右鍵,點選 Customize... 點選 Toolbar 選擇 Standard 點選 Solution Configurations 右邊點選 Modify Selection 在 Width 那一欄輸入寬度 影片示例:…

[156] 函數或類別

先前寫過 C++ 類別的設計手法,其中一個是「滿足條件才能生成物件」。其實,需求若只是產生 TheTea,使用函數(Function)即可滿足,有需要寫成類別嗎?本文以此例探討:To class, or not to class. 以函數實作 把先前的 TeaMaker 類別實作貼過來: class TeaMaker { TeaMaker(Tea, Sugar, Ice); TheTea Make(); }; 相應的函數可實作成: TheTea MakeTea(Tea, Sugar, Ice); 同樣是接收三個輸入參數,產生輸出(TheTea),上述函數實作滿足了「當前」的需求。一般來說,呼叫函數不需要先建物件,再呼叫其成員函數,比使用類別來得輕鬆。那麼,有必要設計成類別嗎? 跟許多軟體開發問題的答案一樣:…

[139] JUCE Diary #13:C++ namespace 的必要

前言 C++ namespace 的用意是減少名稱衝突,Objective-C 則是以「加上前贅詞」(「贅」者,多餘、沒有用處。)的方式處理,老實說有點不牢靠。 JUCE 的公開類別置放於 juce:: 命名空間裡。不過,預設情況下由於 JuceHeader.h 引入了 using namespace juce;,因此使用 JUCE 類別不需要加上 juce::。這麼做純粹是為了節省打字時間,並試圖讓「版面」更乾淨,但不應視為「最佳實務」。這個預設行為可以透過定義 DONT_SET_USING_JUCE_NAMESPACE=1 來改變。不過,經驗顯示加上後反而是自找麻煩... 那些年,我們一起經歷的不美好... C++ namespace 的美意如前述,…

[138] Visual Studio 2017, 寫在安裝前...

每當有新版本的 Visual Studio 推出,我會盡量過濾不必要的「雜訊」,把焦點放在 C++ 以及 IDE 增強的功能。「地表最強」前些天釋出正式版,無法在第一時間安裝,原因是: Visual Studio 2017 推出正式版,嗯... pic.twitter.com/gIN72Zxri8— sam (@mhtx) March 8, 2017 是滴,硬碟空間不夠吶。雖然新的 Visual Studio Installer 把各大功能切開了,但是光裝 C++ 功能也是硬碟空間不夠吶。我討厭 Electron 的原因之一——它是一個不尊重使用者硬碟空間資源的惡質開發套件: 這種時候對 Electron 的「恨意」特別高。 pic.…

[135] Livecoding.tv: JUCE #6

應觀眾要求改用破英文面對。 這集示範如何使用 juce::DrawableButton class 來顯示圖文合併的按鈕。另外用到了 juce::Array 來實作載入 SVG 圖檔的函數。…

[134] Livecoding.tv: JUCE #5

在 Facebook Live 直播幾集,發覺受眾跟 Livecoding.tv 上的差很多。依我少得可憐的朋友來看,臉書直播的對象多為台灣人,而且多為圈外人。而 Livecoding.tv 的屬性很明確就是技術類,出沒人士多以英語系為主。 接下來我希望 Facebook Live 以及 Livecoding.tv 做不同的主題,看看反應如何。…

[132] Livecoding.tv: JUCE #4

前天直播時犯了新手錯誤,加上沒注意到 Livecoding.tv 站務人員的大聲呼喊,五十分鐘的直播報銷了。昨天針對同一個主題(JUCE Unit Test Framework)又做了一次。 沒想到直播中途有人提問,最後應觀眾要求改用「破英文」說明 JUCE Unit Test Framework... (事後聽發現紅軸機械鍵盤的聲音太大了)…

[129] Livecoding.tv: JUCE #3

這一集腦袋空空,講得不好。果然要把話講好,把事情說清楚不是一件容易的事。…