- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开放原始码的回收与再利用PPT
開放原始碼的回收與再利用 Google時代的程式撰寫 Google時代的來臨也加快了程式員的各種面向速度的提昇 學習速度 錯誤排除的速度 Google是找到問題答案的最佳途徑,你會遇到的問題,別人多半也會 IM軟體的流行也使得同儕網絡變成好的解題方式 開發的速度 開放原始碼質與量俱皆大增 透過搜尋引擎極易取得所需的程式碼 前後Google時代的程式員的差異(1/3) 學習的方式不同 前Google時代的程式員:透過書籍或文章 後Google時代的程式員:除了書籍或文章外,更從開放原始碼中學習 解決問題或麻煩的方式不同 前Google時代的程式員:嘗試、摸索,詢問前輩,在線上社群或論壇BBS發問 後Google時代的程式員:除了前Google時代的方法之外,更重視透過搜尋引擎尋找問題的原因、解法,甚至現成的程式碼 前後Google時代的程式員的差異(2/3) 程式碼的來源不同 前Google時代的程式員:一手打造 後Google時代的程式員:除了自行撰寫必要的程式碼外,更善用網路上隨手可得的程式碼,加以裁切、添加、整合 重視的技能取向不同 前Google時代的程式員:撰寫品質佳、易於重覆運用的程式碼 後Google時代的程式員需要的新技能 建立好的整合架構 善於搜尋所面臨問題的解決方案,並從中快速吸取新知 善於搜尋既有的程式碼 善於追蹤了解文件不足的程式碼 善於拆解、修繕既有的程式碼,以符合自己的目的 人們都拿開放原始碼專案做什麼? 使用開放原始碼專案產出的軟體 大多數人 從開放原始碼專案中學習 reuse開放原始碼專案中的程式碼 recycle開放原始碼專案中的程式碼 Musica:一個大量運用回收開放原始碼的專案 Musica:一個從公開音訊(例如數位廣播或網路廣播)做自動截斷歌曲的軟體 Winamp的iPod sync模組 ffmpeg MPlayer LAME Reuse vs. Recycle Code Reuse 不需要碰觸到原始碼就可以達到運用的目的 需要原始程式碼設計完善夠彈性夠周延,或程式運氣夠好,遇到剛好滿足目的的程式碼 Code Recyce 程式碼來自世界各地,其目的或範圍往往不盡人意 需要施以回收再加工的作業 ,才能夠進一步加以利用 程式碼的重新打造 vs. 回收再生 對一名工匠而言,倘若要製作一張椅子,他可以 找到原始的木材,重頭開始製作椅子 倘若有二手回收的家具,他也可以 找到一張適用的木頭茶几 重新修整這張茶几 添加新的材料 成為一張具有新面貌的椅子 學問在那? 如何找到好的資源 施以最小幅度的心力,達成相同的目的 程式碼回收與再利用的方法 在網路上搜尋可用的原始碼,並選擇最適合的 了解程式架構,拆解出自己所需的部份 訂定不同的階段,從最小的里程碑開始 做細部拆解,先求能編譯,再求正確執行 暫時忽略非第一個里程碑的內容 適度的斬斷關聯性,尋找適當的替代品 整理介面,去除不必要的元素 做好心理建設,面對混亂 跨出成功的第一步 在網路上搜尋可用的原始碼,並選擇最適合的 選擇執行平台相符或相似者 相似時仍需花費移植心力 選擇程式語言相符者 Java和C#之間互換較為容易 選擇版權宣告合適者 選擇範圍接近者 選擇使用者眾者 選擇相依性低的 盡量不要選擇依賴程式庫多的專案 了解程式架構,拆解出自己所需的部份 即使已經盡量的選擇範圍接近自己所需的專案,但多出的部份仍需適當的拆解 拆解前要先了解程式架構 閱讀能取得的文件 程式碼的追蹤 如果不了解程式架構 不知在此架構下的拆解的方式 不知那些可以拆那些不能拆 不知那些可以先不拆等日後再拆 訂定不同的階段,從最小的里程碑開始 在原始碼層次的拆解告一個段落後,程式碼通常連編譯都無法編譯 必須制定幾個不同階段的目標,並且從最小的里程碑開始出發 達到第一個里程碑具有十分重要的象徵性意義 代表著你能夠正確的編譯而且執行(即使功能不太正確或功能尚不完備) 但只要能夠達到第一個里程碑,之後的問題幾乎都能輕易迎刃而解 做細部拆解,先求能編譯,再求正確執行 在開放原始碼的回收與再利用活動中,最難的是就是讓拆解下來的原始碼成功的編譯 拆解出來的部份往往相依於未被拆解的原專案組成 header file中的定義或巨集 原專案中的其他函式 為了成功的編譯,你需要再回到基礎專案中,把所需的部份拆解出來 此即所謂細部拆解 細部拆解並不會直接把整個原始碼檔案移至回收專案中,僅移動在基礎專案中所需的部份 在這個階段,會反覆的看到許許多多的編譯錯誤 逐一解決各個編譯上的錯誤 需要的耐心耐心加耐心 暫時忽略非第一個里程碑的內容 矇上眼睛假裝看不見 有許多編譯錯誤是第一個里程碑後才會需要的 適時的將它們註解掉,以求通過編譯檢查是一個很好的
文档评论(0)