Clean functions and classes

在讀 Clean Code 的時候,我覺得最讓我印象深刻的就屬 Functions 了。究竟要怎麼樣把 Function 寫得乾淨?我之前一直沒有仔細思考過,可能知道要單一職責、命名清晰,但要把 Function 寫的「夠小」,我還真的沒這麼想過。

繼續閱讀

Clean Code 無瑕的程式碼

什麼是 Clean Code,無瑕的程式碼?又要如何寫出「好」的程式碼呢?

是用更進階的語法?是把程式寫得更加簡潔?還是讓程式跑的更有效率?

繼續閱讀

SLA, Service-level Agreement

何謂 SLA, Service-level Agreement?翻譯成中文是服務品質協議(或服務級別協定)。簡單來說,就是和客戶的一份協議,說明我們的服務應該有怎麼樣的品質、可用性和責任。

繼續閱讀

物件導向簡介

什麼是物件導向程式設計?為什麼要有物件導向?在 JavaScript 中實做的例子又有些什麼呢?

本篇就來簡單探討這些問題!

繼續閱讀

Infix Expression to Expression Tree

中序表達式轉後序表達式。

主要想處理的功能是:把算式多餘的 Parentheses(括號)給移除,例如:1+(2+3) 可變成:1+2+31*(2+3) 則不變。

剛開始看感覺還好,開始做了之後才發現好像遠沒想像的簡單,用一般字串處理,頂多搭配個 Stack 來做,好像很多情況沒有辦法做到,因此有個想法,將 Infix 的表達式(就是我們一般看四則運算的方式)轉成 Postfix,因為 Postfix 就不含括號。

繼續閱讀

JavaScript 的 Callback, promise, async 及 await

在做 Web App 時不可避免的就是要執行「非同步」的動作,英文稱之為 Asyncrhonous action。

所謂的「非同步」指的是一個動作被分成兩個時期,初始化和執行。例如設定鬧鐘 10 秒後響鈴,初始化就是設定鬧鐘,執行就是當時間到之後響鈴。

我們來看看 JavaScript 中的非同步是怎麼被實做的。

繼續閱讀