2010-05-09 13 views
8

我一直想開始一段時間的可重用代碼片段的庫,似乎從來沒有看到它。目前,我只是傾向於從舊項目中拖出一些臨時類/文件。開始一個個人可重用的代碼庫

我想我的主要問題是:

  • 從哪裏開始。 我的存儲庫應採用哪種結構?它應該是一個 編譯的庫(在適當情況下) 或只是類/文件我可以放入任何項目 ?或者可以包含的圖書館項目 ?什麼是 許可的含義呢?

  • 根據我的經驗,建立/縮小的 庫會很快超出 的日期,並且源將丟失。所以 我傾向於源,我可以從SVN出口 ,幷包括在任何 項目。

  • 知識產權。我是 employeed,所以很多我編寫的代碼我 不是我的IP。我如何確保 我不會將我自己的IP帶走 將它用於工作項目和 家庭?我想最好的方式 將許可我的圖書館與開放的 源許可證,並確保我只有 添加到它在我自己的時間使用我自己的 設備,因此確保 ,如果我使用它在一個工作項目 的規則同樣適用,如果我是使用第三方庫的 。

  • 我用許多不同的語言編寫 並且通常需要兩個或更多的 這個庫的一部分。

  • 我應該看實施幾個 模板項目和每一個我所選擇的可重複使用的組件 和語言的核心項目 ?

是否有其他人有這樣的圖書館,你如何組織和更新它?

+0

這不是語言不可知的。你如何設計和創建一個庫很大程度上取決於你使用的是什麼語言。 – 2010-05-09 12:48:41

+1

這是語言不可知的。我不是在討論像jquery或Lucene中的「庫」,我正在討論組織自己的SVN存儲庫以包含多種語言的代碼片段,我可以在許多不同的場景中使用它們。我不想要一個只是放入項目的DLL。對不起,如果不明確。 – 2010-05-09 12:55:45

回答

1

正如尼爾所說,答案的很多實現細節取決於你的語言。

但是,你讓2周非常正確的觀點:

  • 最好是在源代碼形式庫甚至編譯語言,出於顯而易見的原因

  • 如果您希望保留IP並在工作之外使用它,然後在工作之外完成100%的許可證,並獲得一些非常寬鬆的許可證。像zlib license可能是適當的。

還有一點,雖然 - 如果你要確保你的僱主是利用該代碼確定你是最好!。如果該權限很難/不可行,您可以匿名/以假名發佈。

2

我用輕量級的方法去:

  • 使用git或水銀,可能與Dropbox的,如果你不希望它做主持:你想要的版本控制,不管你在做什麼,以及分佈式如果你不打算共享,版本控制尤其完美;不需要中央存儲庫
  • 保存您使用的任何內容。不要花時間創建代碼,因爲您認爲稍後會重用它;等到你要添加任何作品之前寫兩遍。然後把重複的作品扔到那裏,如果第三次發生,你就準備好了。
  • 爲每種語言製作一個目錄;你不能在Python中重複使用Java的,畢竟

這裏有一個目錄結構,你可以嘗試:

+ src 
| + python 
| |  + emailing 
| |  | // the source goes in here 
| |  + quick-profiling 
| + java 
| + c++ 
+ notes 
    // This may not be your thing, but it's a convenient place for them 
1

你的想法的問題,並與一般的代碼片段的概念,是如果你的代碼片段中有一個錯誤,它就會崩潰。對於片段方法,您必須修復所有使用片段的應用程序的源代碼中的錯誤。另一方面,如果您構建二進制庫,則只需在庫代碼中修復一次該bug,然後在其中進行測試,重新鏈接,運行應用程序的迴歸測試即可完成。這就是爲什麼專業程序員厭惡代碼片段。

+0

非常公正的評論,也許模式更好留在我的腦海。 – 2010-05-09 14:12:08

相關問題