About

塵世間一位迷途師程工,「三單」(單眼、單車、單身) 幫初階會員。

| Posted by LittleLin

[照片] 大稻埕近晚照

今天下午 6 點多,夕陽已經落下,趕在天完全黑前,在大稻埕河堤邊所照。

| Posted by LittleLin

[筆記] Uncle Bob "Clean Code" Talk 重點整理

上週五公司邀請了 Clean Code (中文翻譯書︰無瑕的程式碼) 一書的作者 Robert C. Martin,也就是大家常稱呼的 Uncle Bob 到場演講。主題是向大家介紹,工程師要撰寫出 Clean Code,應該要建立的觀念或是技巧。

演講的內容非常棒,可惜是公司內部的 talk,無法分享給大家錄影檔。在這邊記錄,我在演講中聽到的一些重點項目,也算是幫自己留個筆記。

| Posted by LittleLin

[Quora][翻譯] 該如何與軟體開發團隊溝通,請他們加班以讓專案如期上線呢?

Clock

說明

最近在 Quora 上看到了一個有趣的問題,What is the best way to communicate to a software development team that they need to work more hours to meet a launch date? (該如何與軟體開發團隊溝通,請他們加班以讓專案如期上線呢?)

問題原文如下︰

My team has a launch date two months out that we need to hit. Over the past year I've been comfortable with them working 40 hours per week, but momentum is slipping with vacations, early weekends, etc. I need to communicate that they need to step up their effort and work more hours per week until we launch.
我的團隊有一個專案要在兩個月後上線,在過去一年,我與我的團隊每週工作 40 小時,但專案進度因為假期等因素而有所滑落。我需要與團隊溝通,請他們每週工作更長的工時,直到專案正式上線為止。

My question is specifically about the best way to communicate this request.
具體來說,我的問題是,我該怎麼向我的團隊溝通這樣的需求呢?

就問題來看,發問者在團隊中應該擔任的是類似 PM 的角色,而發問的內容在實務上也很常見,所以引起了不少人的回覆。其中在眾多答案中,評分最高的,也是最引起我共鳴的答案,是由前 Quora 工程師 Edmond Lau 所提供的 (答案連結)。

Edmond Lau 在回覆中,說明為什麼他認為超時工作不可行,並且分享了他個人在過去專案執行中,所遇到的慘痛經驗。整個答案內文比原始的問題內文要長得多,但又非常實務且有趣。我在讀了之後覺得非常喜歡,所以想說就乾脆把它翻譯出來好了,希望也帶給遭遇類似問題的朋友一些思考。

要說明的是,我不是專業的譯者,所以對於內文的翻譯,或許有錯誤或是不到位的地方 (這很有可能發生),都非常歡迎大家指正。如果有相關的經驗可以一起分享的話,那就更好了,這也是一開始我翻譯這篇答案內文,希望帶給大家的幫助。

| Posted by LittleLin

[系列] 使用 ReSharper 進行程式重構 - Tip 1 封裝集合

原文︰Refactoring Day 1 : Encapsulate Collection
譯文︰31天重构学习笔记1. 封装集合

| Posted by LittleLin

[系列] 使用 ReSharper 進行程式重構 - 前言

最近在閱讀程式重構 (Refactoring) 的相關書籍與資料,網路上關於重構的介紹資料,已經非常豐富且完整,應該用不著小弟再補充說明。大家都推薦的經典書籍,重構─改善既有程式的設計,自然也是要大力推薦。原作者 Martin Fowler 寫的相當好,侯捷老師翻譯的水準也是相當棒。對重構這議題有興趣的朋友,可以找來看看,應該對您會有幫助的。

我在閱讀資料時,常發現使用的展示範例是 Java 搭配 Eclipse 等 IDE。我對語言平台本身沒有任何偏見,只是由於目前在工作上,使用的語言是 C#,與 Visual Studio 做為 IDE,所以一直在尋找有沒有相關的資源,可以展示在 Visual Studio 下,對 C# 程式進行重構的範例。

找到比較接近的系列文章,是由 Sean Chambers 撰寫的 31 Days of Refactoring 系列文章 (簡中譯版連結在此)。算是比較完整的以 C# 做為範例語言,展示重構技法的系列文章。

只是這系列的文章雖然不錯,但美中不足的是文章內容,僅有單純以 C# 程式碼做說明,而沒有講解,如何透過 Visual Studio 來達成重構的效果。

當然作者可能是想聚焦在重構的「技法」本身,但對於我自己來說,重構的過程,如何善用 IDE 的支援也是相當重要。畢竟自己手動調整程式,可能會造成程式出問題而不自知。如果可以善用 IDE 的重構功能,透過自動化的效果來達成重構的效果,除了生產力的提升外,對於確保程式正確性,也更有把握。

因為上述原因,所以有了撰寫這小小系列文章的想法,主要是想整理自己在 Visual Studio + C# 環境下,執行重構工法的「步驟整理」。範例程式碼與重構工法的內容,都是基於 31 Days of Refactoring 中的 Sample Code。本系列文章只是整理,如何使用 IDE 的功能,來達到原文中的重構後效果的步驟。算是幫自己做個筆記,和補足目前 C# 重構的相關資料中,這一小小塊的不足吧。

另一方面,有鑑於 Visual Studio 目前的重構功能,實在是非常的陽春 (這就純萃是我個人的偏見了,如果有大大願意來打我臉,小弟相當願意接受:D)。所以在研究後,目前我開始採用 ReSharper 這個 Visual Studio 的 plugin 軟體,來做為自己在 Visual Studio 下,執行重構動作的標準軟體,也會用此軟體做為本系列文章的展示。

當然 ReSharper 是付費軟體,所以如果有朋友對於使用付費軟體無法接受的話,或許也可以在閱讀此系列文章後,尋找免費但可以達成相同功能的 plugin 替代。

Have fun! :)

| Posted by LittleLin

正式搬家到 Logdown

如題,因為我實在滿喜歡 Logdown 的寫作界面的,所以就搬過來了。FeedBurner 上的 RSS Feed 也已經指到 Logdown 來,所以如果原本是訂閱 FeedBurner RSS 的朋友,應該是不會有任何影響才對。

昨天晚上也在 GoDaddy 上買了個新的 domain name,以後 http://blog.littlelin.info 就會是個人 Blog 的專屬網址啦,希望讓自己更有家的感覺,還請舊雨新知多多指教 XD

| Posted by LittleLin

[照片] 台十一線日出

6 月單車環島時,在台十一線所攝。

台十一線海岸日出

| Posted by LittleLin

[C#][簡報] Deferred Execution (延遲執行)

這應該算是連三次講內部 training 的 session 了,這次一樣是和部門學長合講,分享一下簡報檔。

Deferred Execution (延遲執行) from Zheng-Wei Lin
| Posted by LittleLin

[C#][簡報] Generic Delegate

一樣來分享簡報檔,這次也是和另一位學長,合講部門內 training 的一個主題。

Generic Delegate from Zheng-Wei Lin
| Posted by LittleLin

[旅行] 單車環島 2/3 完成!

趁著端午假期,又跑去單車環 1/3 島了。這次的路線是從台北到台東,全長大概騎了 2xx 公里吧。

整理遊記和照片中,先貼一張在花蓮民宿清晨拍的照片。

「住海邊」民宿早上 5 點晨景。