音楽、絵(写真)日記
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
剛剛把左下角朋友的地方,寫成下拉選單了!
原本只是想測試一下Plugin的部份嵌javascript的狀況,結果就突發奇想把原本好友名單的部份改成用下拉選單來作了,寫完之後還蠻滿意的,不過花了快一個小時是發生了什麼事情!? 這應該是五分鐘就可以寫完的東西才對啊!
程式真的是一小段時間沒寫,就真的會忘的差不多。說到這,我都忘了我的DB還沒寫完呢...真的應該趁最近還沒忘光已前趕快把該寫的部分都寫一寫。
原本只是想測試一下Plugin的部份嵌javascript的狀況,結果就突發奇想把原本好友名單的部份改成用下拉選單來作了,寫完之後還蠻滿意的,不過花了快一個小時是發生了什麼事情!? 這應該是五分鐘就可以寫完的東西才對啊!
程式真的是一小段時間沒寫,就真的會忘的差不多。說到這,我都忘了我的DB還沒寫完呢...真的應該趁最近還沒忘光已前趕快把該寫的部分都寫一寫。
PR
說到程式的版本控管,最常被用到的大概就是CVS/SVN這類的東西,而之前也為了要能夠在外面Commit code回家裡,所以也再桌機上架了一個SVN方便做一些程式的二次備份。
直到親眼看到之前,我一直以為會要去架SVN的人,都大概了解SVN。不過後來事實證明,似乎很多人都懶的花太多的時間在這個東西上面。我也不知道原因是什麼,或許是我太龜毛了吧?
不過還是想提一下,在幫一個新專案架起版本控制時,一些我認為很重要但常被忽略的事情。
我的開發平台是eclipse + subclipse:
1. 忽略(Ignore)不需要被控制的檔案
包括 build, log 這類會一直被 rolling 的檔案,只會讓 Repository 變的更大而且複雜,完全沒有控制的必要,但是常常有人就只是不去管他,但我看到build資料夾上面有一個"?",就會讓我感到全身不自在。
2. 視情況忽略因"機"制宜的檔案
使用IDE開發時(如 eclipse),會有一些.settings, .project的檔案,但是每個人的設定不一定相同,有的時候這些設定反而會得要讓人一個一個去更改設定,我自己是相當不喜歡這個動作。而在取出專案時,這樣Subclipse雖然不會自動幫你指定專案型態,不過這樣就可以讓你手動選擇要以什麼樣的模式來取出專案,這樣的彈性似乎比較高?或許這見仁見智。
3. 總是做好送交(Commit)檔案時的註記
很多人在送交程式時,常常沒有去做些簡單的memo,導致未來如果在某個版本上出了問題,就得要靠一些外部的紀錄或是大腦這個糟糕的記憶媒介,在全部沒有做註記的歷史資料(history)海中一個一個找是哪個才是你要的版本,所以為了避免這種情況發生,請在送交(commit)程式前,做好這個不起眼的動作。
4. 編輯IDE難以控管的檔案時,記得要做鎖定的動作
尤其當一個檔案同時在被很多人修改時,常常改完了要送交時,才發現這個檔案已經被人捷足先登而out of date,這時候才會氣的牙癢癢的心想,為什麼不先lock住這個檔案,為了維持同事間的良好工作氣氛,請別忘了做這個小動作。對了....修改完之後也別忘了解除鎖定,要不然別人還是會氣的牙癢癢的。
5. 分支(branch)跟主幹(trunk)一樣重要
我以為這是很基本的概念,但令人難過的是我已經不只一次看到 Repository 裡面只有主幹(trunk)的存在。我曾經在一個即將要上線的案子中,由於不得已臨時做了framework的migrate而體會到製作分支(branch)的重要性。熟悉之後,用標記(tagging)的方式對運作中的系統做類似功能的修正,也會大幅的增加版本控制的穩定性及易回朔性,減少浪費一些不必要的時間及風險。
6. 定期備份
似乎這並不是最一般的流程,不過由於SVN在粗糙的操作下容易讓整個檔案系統在無意間被毀掉,所以備份其實也是蠻重要的工作,不過就我所知有在做備份的人似乎不太多,或許工程師們都很謹慎吧(?)
其實還有不少,不過有些太瑣碎了,而且有些只是我的個人偏好,所以只提出上面幾點我覺得很重要但容易被忽略的東西。
總之,SVN真是個好東西,好東西要用好的方法去用,才能發揮好的功能。
直到親眼看到之前,我一直以為會要去架SVN的人,都大概了解SVN。不過後來事實證明,似乎很多人都懶的花太多的時間在這個東西上面。我也不知道原因是什麼,或許是我太龜毛了吧?
不過還是想提一下,在幫一個新專案架起版本控制時,一些我認為很重要但常被忽略的事情。
我的開發平台是eclipse + subclipse:
1. 忽略(Ignore)不需要被控制的檔案
包括 build, log 這類會一直被 rolling 的檔案,只會讓 Repository 變的更大而且複雜,完全沒有控制的必要,但是常常有人就只是不去管他,但我看到build資料夾上面有一個"?",就會讓我感到全身不自在。
2. 視情況忽略因"機"制宜的檔案
使用IDE開發時(如 eclipse),會有一些.settings, .project的檔案,但是每個人的設定不一定相同,有的時候這些設定反而會得要讓人一個一個去更改設定,我自己是相當不喜歡這個動作。而在取出專案時,這樣Subclipse雖然不會自動幫你指定專案型態,不過這樣就可以讓你手動選擇要以什麼樣的模式來取出專案,這樣的彈性似乎比較高?或許這見仁見智。
3. 總是做好送交(Commit)檔案時的註記
很多人在送交程式時,常常沒有去做些簡單的memo,導致未來如果在某個版本上出了問題,就得要靠一些外部的紀錄或是大腦這個糟糕的記憶媒介,在全部沒有做註記的歷史資料(history)海中一個一個找是哪個才是你要的版本,所以為了避免這種情況發生,請在送交(commit)程式前,做好這個不起眼的動作。
4. 編輯IDE難以控管的檔案時,記得要做鎖定的動作
尤其當一個檔案同時在被很多人修改時,常常改完了要送交時,才發現這個檔案已經被人捷足先登而out of date,這時候才會氣的牙癢癢的心想,為什麼不先lock住這個檔案,為了維持同事間的良好工作氣氛,請別忘了做這個小動作。對了....修改完之後也別忘了解除鎖定,要不然別人還是會氣的牙癢癢的。
5. 分支(branch)跟主幹(trunk)一樣重要
我以為這是很基本的概念,但令人難過的是我已經不只一次看到 Repository 裡面只有主幹(trunk)的存在。我曾經在一個即將要上線的案子中,由於不得已臨時做了framework的migrate而體會到製作分支(branch)的重要性。熟悉之後,用標記(tagging)的方式對運作中的系統做類似功能的修正,也會大幅的增加版本控制的穩定性及易回朔性,減少浪費一些不必要的時間及風險。
6. 定期備份
似乎這並不是最一般的流程,不過由於SVN在粗糙的操作下容易讓整個檔案系統在無意間被毀掉,所以備份其實也是蠻重要的工作,不過就我所知有在做備份的人似乎不太多,或許工程師們都很謹慎吧(?)
其實還有不少,不過有些太瑣碎了,而且有些只是我的個人偏好,所以只提出上面幾點我覺得很重要但容易被忽略的東西。
總之,SVN真是個好東西,好東西要用好的方法去用,才能發揮好的功能。
