發表文章

目前顯示的是 1月, 2013的文章

閒聊 - 反思我程式寫法的演化

今天有個同學請教我, 我的作業裡面這一行Code的意義是什麼? bool[] boolArray = new bool[bitArrayCollection.Sum(b => b.Length)]; 如果是四年前的我, 可能也看不懂這一行. 而我, 其實也不是為了說要寫得很炫, 讓人家看不懂才這樣寫. 用意只是為了少打幾行Code, 而且讓文字字面單純而了解意思, 才這樣寫 可以看到裡面有幾個關鍵字 "Collection"、"Sum"、"Length" 它作用是bitArrayCollection這個集合裡所有物件的Length屬性... 加總起來(Sum) 這是LINQ用法 ok 從出社會工作一直到現在, 再加上大學四年的學習,  寫程式的時間已經超過10年了, 而這10年裡面, 其實我一直有在做一種思考, 就是"我這幾行Code怎麼寫比較好?" 也包括我在看別人的Code時感覺到什麼? 幾天前在PTT資訊工作板 有個人回文說他20年前在電子街遇到一個國中生, 超厲害 他寫的Code連旁邊的碩士都看不懂, 於是他就下定決心不加入資訊行業的戰局 接著 下面數個留言說... 是那個國中生不懂程式 哈哈, 對這應答真的感觸良多 現在用一個實例來描述這十年來在我身上發生的演變... 這邊有三個東西 b1, b2, b3. 他們的長度分別是10, 20, 30 BitArray b1 = new BitArray(10); BitArray b2 = new BitArray(20); BitArray b3 = new BitArray(30);  然後為了解說方便, 先用某個容器裝有它們 List<BitArray> bitArrayCollection = new List<BitArray>(); bitArrayCollection.Add(b1); bitArrayCollection.Add(b2); bitArrayCollection.Add(b3); 現在我們要加總他們的長度, 就好像算學期總分