http://www.aygfsteel.com/Files/zbw25/code.rar
抱歉,拖了這么長時間。
Update:
昨天在BlogJava上傳的文件,今天就不能下載了,比較暈。。。
http://www.javaeye.com/topic/19448
這是在JavaEye的發布OpenDoc的地址,里面有下載的Link。
http://www.javaeye.com/topics/download/54f814f5-b77f-46e1-bf61-bd384493f118
應該要注冊成為javaeye的用戶后,才能下載。
如果和超級女生這樣的大賽相比的話, Ajax 大賽應該被稱之為“ Ajax 小賽”吧。 250 名初賽選手, 10 多名復賽選手,三個來自于一個網站“ Ajax 中國”的評委。這樣的比賽意義在哪里呢?
?
僅僅看數量,是看不出來的。
?
Ajax 是 Web 應用的一種,而且可以肯定的說,是 Web 應用中最為復雜的一種,一個 Web 項目,我們通常都會分為“美工”、“ Web 靜態頁面制作”、“ Server 端系統開發”這樣幾個工種。而 Ajax 應用則同時需要 Server 端與 Client 端復雜的端到端編程技術。
?
對于參賽選手而言,這些工作,都得靠一己之力來完成,在 2 個多月之內,做出來的作品,要美觀,要好用,要有創意,要符合 W3C 組織的 Web 標準,還得正確有效的作為一個程序在瀏覽器里運行。真的,不容易!這 11 位(可能會修改)參賽選手,每一位都不容易!
?
我們(大賽組織者、評委和參賽選手)都非常確切的意識到,我們正處在一場變革剛剛起步的階段。 Ajax 可能僅僅是這場革命開始時,最響亮的一個名字。激動人心的發展將會接踵而來,而我們這些人將會自豪的宣稱,我們從一開始就不是旁觀者,而是實實在在的參與者,和有力的推動者!
?
看著選手們的代碼,我們的信心更加充足,這些 Ajax 的愛好者和參與者們,不僅是熱忱的,更是踏實的。不但是嚴肅認真的,更是勇于創新的。由這樣的一群人來推動 Ajax 在中國的發展,實在是一個極好的開始。
?
而 Ajax 大賽,正是這樣一個機會,使得這一群中堅力量,能夠集結、凝聚,進而取得更加卓越的成就。這就是我對于這個比賽意義的理解。
? 說實話,稍微吹了一點
“出來混,總是要還的。”這話說得真好。我最近的blog寫得太少了,想寫的東西,其實又實在是不少,一日復一日的堆積心里,又想寫,又不想寫,難受呀。
這篇blog原本還是打算在Word 2007里寫的, 后來作為草稿發上來,發現還有不少不如意的地方,還是在線寫吧。
想說的事情挺多的,一件一件的說吧。
一、敏捷中國大會,6月6日在上海交大舉辦了一場。專門介紹ruby的,昨天在csdn的martin fowler的中文blog上,也貼出了完整的演講全文。《Ruby是一個非常好的開發工具》,《現場演示Ruby編程》,《細數Ruby語言優缺點》。關于這次活動的一篇Blog按理我早就該寫了,但是卻一直沒有寫出來。有兩個原因,一個是那天老馬在開講之前,熊節是打算在邊上當翻譯的,誰知道交大的同學們牛啊,紛紛表示,不必翻譯,都聽得懂的,我一個學俄語的人,在那里抗議也沒什么用,大家都一副聽力很好的架勢,老馬在上面嘰里呱啦的講著,下面的同學們不時的笑著……我呢,也只能隨著大家的笑聲,沖著老馬空洞的笑著……;第二個原因呢,是個原本打算等CSDN的演講的翻譯出來,我也好引用一下,誰知這一等,就是半個月,我都已經換了一個工作了。
說實話,那天老馬的演講,我沒聽懂,不過因為他在那里現場coding,所以我還是看懂了一些代碼。Ruby的代碼給人留下了深刻的印象,而且我不知道是不是Martin故意裝作是一個初哥,反正看起來他對ruby的語法也不怎么熟悉,不過ruby厲害的地方就在于,你就算是個初哥,邊試邊弄,也能把程序鼓搗出來。
原本的計劃是介紹Ruby DSL的,不過時間明顯的不夠用,關于DSL的部分反而講得很少,還好這兩天armlinux-w翻譯了一篇專講Ruby DSL的文章過來:《用Ruby 創建領域特定語言》。當時看到Martin演示的,用Ruby語言描述的配置文件時,腦子里頗有些想法,也寫了問題交上去問,不過老馬也來不及一一回答,后來想想,提的那個問題,也沒有經過自己的深入思考與實踐,不提也罷。
倒是我提的另外一個問題,頗有些價值,當時正好交大的林德樟老師也在,我以前就對林老師的那句語錄有所不滿《XP是草書,UP是正楷,先草書后正楷,就會亂套》。在自己的Blog上也和林老師的門徒們吵過架,如今Martin教主本人既然來了,我等看客正應該把這仗挑起來才是。于是我就提了一個問題,讓兩位專家都來評價一下這句話。可惜的是,后來他們兩人的精彩交鋒,我也沒怎么聽懂,還是林老師還用中文闡述了一遍自己的觀點,我算是了解了一下他的邏輯。
原來我以為,林老師這樣的說法,是出于在校教師“和稀泥”的考慮。這下我才了解到,原來林老師是真的這么認為的。而他這么一種說法的依據,還是慣常的“中國國情論”。或者稱之為“補課論”。因為美國人是現有軟件工程,才有極限編程,而我們現在的軟件產業還落后人家幾十年,所以不把軟件工程這一課不上,是不行的。然后林老師還頗有些“攻擊力”的詢問Martin,當初你先寫了UML,后來又寫了XP,不也是這樣一個心路歷程嗎?老馬如何回答,我也沒有聽懂,但是在我看來,林老師混淆了三個概念,一個是國家級的軟件產業的發展水平,一個是企業級的軟件開發的管理水平,一個是開發人員的技術與理論水平。這三個不同的水平被他攪在一起,用于支撐自己的說法,實在是???????所以,會后我又追上去問林老師,我提出了三個概念混淆了云云,沒想到林老師相當和藹可親的對我說:“嗯,你說的沒錯”,然后又說到關于大學的軟件教育的問題,我在說很多剛畢業的學生,對于軟件開發的理解,往往停留于知識點的積累上,而沒有去思考,我打算把這些知識點,組合起來運用,以達到什么目的。很多學生,只是說我知道什么什么,而不會說,我會做什么什么。林老師又和藹可親的對我說:“嗯,你說的沒錯。我一直跟學生們說,學校和企業是完全不同的,真正的知識,只能在企業里才能學到。”然后我又說,其實軟件學院應該多推薦學生去企業實習,還有就是多鼓勵學生參與Open Source的項目呀。林老師還是和顏悅色的對我說:“是啊,不過現在的企業,要他們肯接收學生實習,不容易的。在美國,每年暑期都會有大量的實習生招聘,這其實就是企業在做慈善呀。再說現在的大學老師,對Open Source的了解,也很少的呀。”然后,我就跟林老師告辭了。作為一個老師,他給我留下了很好的印象,但是,我更加悲觀的發現,要通過學校教育,提高軟件開發人員的素質,好難啊!
會后大家又找了一家小飯店FB了一下,CSDN的霍泰穩也來了,我還給他們提了一個建議,以后CSDN最好能夠搞一個系列的活動,不斷的把世界各地的軟件大師們請到中國來,巡回演講,收取門票,整理成每年基本的《軟件大師在中國》這樣書出版,還有視頻光盤也可以賣錢,各位大師的中文Blog也都建在CSDN,應該是一樁雙贏的好事啊,就看他們是不是打算做了。
(待續)
不要出來搞笑說:沒有bug的程序?????????
靠,站著說話不腰疼。那個公司可以做出沒有bug的軟件來?
當然,沒有寫過程序的人不出bug!!
估計這位同志不會寫代碼,是個理論專家。
還是不要這么狂的好。
我估摸按你的標準,你是肯定不會被別人錄用的!
123說:你是編程的嗎?
無“BUG”搞笑吧你
測試是不能查出所有BUG的
而且不是所有測試都能窮舉的
只能是測試覆蓋率達到一個標準
BUG出現的概率達到標準
才算產品
“ZERO-BUG”做夢去吧
“現在的大學生過于浮躁”
“真不明白本科都在學什么”
還有一位臺灣同胞說:“本來還以為只有在臺灣有這種情形,原來兩岸的情都相同。”
2、收簡歷,初步了解背景情況,然后讓加我的MSN
3、在MSN里,就問一個問題:以下幾種技術,你哪一種最熟悉,哪一種最不熟悉
4、你就用最不熟悉的那種技術,做一個demo給我,沒有時間限制,要求如下:
-首先是demo的質量,一定不能有任何bug
-其次是代碼的質量,要干凈,明白,好懂。
-要有創意
-在功能創意與時間進度之間,自行平衡
5、拿到代碼之后,先看看能不能正常運行,看看有沒有bug。
6、在Google里搜索代碼的關鍵段落,看看有沒有抄襲,或者了解一下借鑒的程度
7、看他的代碼,是不是足夠干凈,足夠合理,足夠樸素
8、如果一個人能夠在很短的時間里,自行快速學習一種新的技術,并交出足夠質量的代碼。這樣的員工,我就準備要了。至于面試,無非是談談工資的高低意向罷了。
1、我不關心他的學歷,工作經驗,年齡和技術背景,因為招到一個出色的員工,他會持續的自我學習,不斷的進步。
2、有bug的一律不要
3、代碼最能夠說明問題,其他一切判斷都要在我看過他的代碼之后。一個人,不要玩弄聰明,不要炫耀技巧,寫老老實實,干干凈凈的代碼,合理的貼切的變量命名、方法命名、類命名,合理而不多不少的類間關系。這樣的代碼,就是漂亮的代碼。能寫出這樣的代碼的人,就有足夠好的思維和品性。
4、快速學習的能力要比過去的工作經驗更加重要,因為那么多工作經驗,也要有助于完成今后的工作,才能體現出價值。
5、不抄襲,有創意,這樣的人才很難得。
6、有計劃的實現功能,能夠在功能和時間進度之間合理決斷。這就是有大局觀的人才。
文檔是項目的知識,這些知識必須集中管理、容易獲取、人人可以編輯。
項目在生長,代碼在增加,文檔也必須能夠跟隨項目自然生長,強行劃分設計階段和開發階段,是不可取的。
Wiki不是傳統的項目文檔,而是一個應交流需要,可能隨時增刪改的知識庫。項目組的成員,遇到問題,就應該首先查看Wiki,如果這是Wiki中沒有,那么他應該找人詢問。而那個知道答案的人,如果他不想再今后不斷的回答同一問題,就應該把這個答案寫入Wiki,這就是Wiki條目增長的自然動力。
傳統文檔最大的問題在于浪費,而Wiki通過持續修改,按需提供的方式,保證了所有寫下的文字,一定有超過一個人需要讀它。
Include功能,增加include標簽,可以在一個條目中,引入其他條目的全文,而不是僅僅增加一個link。
文檔的層次結構,當項目的文檔條目逐漸增加,分門別類的條目,更加便于查找,也可以有效的避免條目重名的問題。
一個Click,就能夠創建新一個條目,用于填寫當天的工作安排。
每日15分鐘文檔制度,基于“填寫當日工作”的功能,我規定每個項目組成員,每天要花三個5分鐘來寫文檔,早上的5分鐘,填寫當日工作計劃。中午的5分鐘填寫上午的工作情況,下班前的5分鐘,填寫下午的工作情況。這樣,每天的文檔工作相當輕松,但是文檔能夠保證持續的跟隨項目成長下去。更進一步的,這樣的制度,對于項目的進度控制,也很有幫助。
User Case條目驅動,所有分解出去的User Case,在分配到責任人之后,該責任人的第一項工作,就是在Wiki中寫下對于這個User Case的理解。隨后項目進展,也應該持續的維護這個條目。
同時進行Bug的管理,Bug也作為Wiki中的條目,以便于和其他條目項目引用。
每次Check In CVS時,必須寫注釋。這是更加細節的文檔,然后我還做了一個小程序,能夠自動的從CVSTrac中讀出當天Check In代碼的注釋。供每個人在寫當天文檔的時候引用。
文檔驅動、測試驅動、用例驅動、模型驅動、特征驅動。。。。他們都要解決的是什么問題?
要回答這個問題,還真不容易。我們得問一個更加重要的問題,真正驅動項目的,究竟是什么呢?我想,應該是需求吧?
?
那么,這些“文檔”、“測試”、“用例”、“模型”、“特征”,究竟是什么呢?對于需求的描述!我們之所以不會直接用需求來驅動項目開發,而是要借助工具,來幫助我們描述需求,就是因為口語化的需求描述是非常模糊的,充滿歧義的。所以,選擇什么來驅動我們的項目,其實就是要看,以上這些工具,哪一個能夠更好、更準確的描述需求?
?
文檔其實是最難準確描述需求的一種方式,如果是純文字的文檔,就更難。我們的技術總監,非常喜歡讀寫文檔,我最近也創下了一天寫47頁文檔的最新記錄。但是,當我們開會的時候,我還是經常需要提醒我們的技術總監,麻煩他再仔細看看文檔第XX頁的第XX段,以及配合著另一份文檔的XX小節,來確切的理解我的意思!如果沒有我的解釋,他就會誤解我的文檔。
?
當然,如果要寫出不需要我來解釋,他就能理解的文檔,那么文檔的工作量,將會極其驚人!我以前寫過一篇blog,《Jacobson博士演講觀后感》是我對UP的創始人的極度反感的集中體現。GHawk,以及交大林老師的所謂“UP”的觀點,當然不可能獲得我的贊同。在GHawk的最新一篇blog:《UP & XP之爭,意義何在?(續)》中,GHawk說:“唯一的問題是:“如何確保測試用例的質量”。顯然,我們不能把一把不直的尺子度量出來的結果作為可靠的參考依據。怎么解決呢?“結對編程”么?嗯,這是一個不錯的方式,那么最終該信賴誰呢?是Pair中的A還是B呢?或者,是Leader么?那么又是誰提出的要求呢?是老板么?還是客戶?政府?法規?市場?……問題沒有終結了。”
?
由此我可以推斷,他對于XP的認識,基本上是停留在猜測的階段。對于這篇blog的觀點,我就不逐一反駁了,我的猜測是,他經歷過一次失敗的XP嘗試,而究其原因,我猜測是因為他們那個所謂的XP Team中,沒有一個人,曾經實踐過一次正規的XP開發。
?
再來看模型驅動,這中間有一個大問題,因為需求是“問題域”的范疇,而模型,則是“解答域”的范疇,試圖通過解答域的精確描述,來實現對于需求的準確描述,肯定不靠譜啊。
?
特征驅動,我認為FDD其實是老方法的新名詞,具體的實踐,可能更加接近測試、迭代式的過程。了解不過,所以我也不打算多說。
?
用例驅動與測試驅動,其實我認為這是一個硬幣的兩面,用例要盡快的翻譯為測試用例,而測試用例,正是為了更加準確的表述需求用例。這是我能夠想到的,驅動項目開發的,最好的方法!
Agile強調的是“代碼是真正有價值的東西。”這同樣也是實踐的結果。二位對于過程有不同的看法并不能說明孰是孰非,這只是在不同的實踐內容和階段上的總結。在過程的選用問題上,只有不斷地實踐才是前進的方向。?
我為什么要聽一個海龜來上課呢?
這年頭,海龜還不夠多嗎?
另外對GHawk多說一句話:讓組員快速磨合的最好辦法,是結對編程,而不是大家埋頭寫文檔。
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 1 | 2 | 3 | 4 | 5 | 6 |
常用鏈接
留言簿(20)
隨筆檔案
- 2006年10月 (1)
- 2006年7月 (1)
- 2006年6月 (3)
- 2006年5月 (2)
- 2006年4月 (3)
- 2006年3月 (9)
- 2006年2月 (1)
- 2006年1月 (9)
- 2005年12月 (7)
- 2005年11月 (20)
- 2005年10月 (3)
友情BLOG
- 我在MSN的Blog
- 范凱(Robbin)的BLOG
- 據說不會有什么技術文章
搜索
最新評論

- 1.?re: AjaxOpenDoc源代碼下載
- 評論內容較長,點擊標題查看
- --syt
- 2.?re: [導入]回顧我的BBS生涯——在網易的6年(1)
- 從來沒有深入的去想一想自己有什么信仰,雖然對工作和生活熱情,卻不知道是靠什么驅使的,想在你這里找到一些答案,能來給我一些指導?或者一些推薦的書籍。
- --greatghoul
- 3.?re: 還賬——1
-
是在搜索你博客主題的時候找到了你的站
感覺思考偏重于技術
呵呵 - --老鷹訓練營
- 4.?re: XP應該是老板的最愛,而不是程序員的首選
-
您好,我們公司是一家中國境內的專業翻譯公司,從事各專業翻譯服務,包括筆譯、口譯、同聲傳譯和同聲傳譯設備租賃等。我們需要招聘兼職翻譯、同傳譯員和外籍英文校對人員。
希望有機會合作. - --replica watch
- 5.?re: AjaxOpenDoc源代碼下載
- sdg
- --gsdg