導航:首頁 > 程序命令 > 程序員cvs比較

程序員cvs比較

發布時間:2023-03-29 05:36:32

Ⅰ 常見的十五種java開發工具是什麼,有什麼特點

1、JDK (Java Development Kit)Java開發工具集

從初學者角度來看,採用JDK開發Java程序能夠很快理解程序中各部分代碼之間的關系,有利於理解Java面向對象的設計思想。JDK的另一個顯著特點是隨著Java (J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java應用開發非常困難,不能進行復雜的Java軟體開發,也不利於團體協同開發。

2、Java Workshop

3、NetBeans 與Sun Java Studio 5

NetBeans是開放源碼的Java集成開發環境(IDE),適用於各種客戶機和Web應用。
Sun Java Studio是Sun公司最新發布的商用全功能Java IDE,支持Solaris、linux和Windows平台,適於創建和部署2層Java Web應用和n層J2EE應用的企業開發人員使用。

NetBeans是業界第一款支持創新型Java開發的開放源碼IDE。開發人員可以利用業界強大的開發工具來構建桌面、Web或移動應用。同時,通過NetBeans和開放的API的模塊化結構,第三方能夠非常輕松地擴展或集成NetBeans平台。

NetBeans3.5.1主要針對一般Java軟體的開發者,而Java One Studio5則主要針對企業做網路服務等應用的開發者。Sun不久還將推出Project Rave,其目標是幫助企業的開發者進行軟體開發。NetBeans 3.5.1版本與其他開發工具相比,最大區別在於不僅能夠開發各種台式機上的應用,而且可以用來開發網路服務方面的應用,可以開發基於J2ME的移動設備上的應用等。在NetBeans 3.5.1基礎上,Sun開發出了JavaOne Studio5,為用戶提供了一個更加先進的企業編程環境。在新的JavaOne Studio5里有一個應用框架,開發者可以利用這些模塊快速開發自己在網路服務方面的各種應用程序。

4、Borland 的JBuilder

Jbuilder進入了Java集成開發環境的王國,它滿足很多方面的應用,尤其是對於伺服器方以及EJB開發者們來說。下面簡單介紹一下Jbuilder的特點:

1)Jbuilder支持最新的Java技術,包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的應用。

2)用戶可以自動地生成基於後端資料庫表的EJB Java類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應的向導程序有助於用戶全面地管理IDL(分布應用程序所必需的介面定義語言Interface Definition Language)和控制遠程對象。

3)Jbuilder支持各種應用伺服器。Jbuilder與Inprise Application Server緊密集成,同時支持WebLogic erver,支持EJB 1.1和EJB 2.0,可以快速開發J2EE的電子商務應用。

4)Jbuilder能用Servlet和JSP開發和調試動態Web 應用。

5)利用Jbuilder可創建(沒有專有代碼和標記)純Java2應用。由於Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標記,它支持最新的Java標准。

6)Jbuilder擁有專業化的圖形調試介面,支持遠程調試和多線程調試,調試器支持各種JDK版本,包括J2ME/J2SE/J2EE。

JBuilder環境開發程序方便,它是純的Java 開發環境,適合企業的J2EE開發;缺點是往往一開始人們難於把握整個程序各部分之間的關系,對機器的硬體要求較高,比較吃內存,這時運行速度顯得較慢。

5、Oracle 的JDeveloper

oracle9i JDeveloper(定為9.0版,最新為10g)為構建具有J2EE功能,XML和Webservices的復雜的,多層的Java應用程序提供了一個完全集成的開發環境。它為運用Oracle9i資料庫和應用伺服器的開發人員提供特殊的功能和增強性能,除此以外,它也有資格成為用於多種用途Java開發的一個強大的工具。

oracle9i JDeveloper的主要特點如下:

① 具有UML(Unified Modeling Language,一體化建模語言)建模功能。可以將業務對象及e-business應用模型化。

② 配備有高速Java調試器(Debuger)、內置Profiling工具、提高代碼質量的工具「CodeCoach」等。

③ 支持SOAP(Simple Object Access Protocol)「簡單對象訪問協議」、UDDI(Universal Description, Discovery and Integration)「統一描述、發現和集成協議」、WSDL(Web Services Description Language)「WEB服務描述語言」等Web服務標准。

JDeveloper 不僅僅是很好的 Java 編程工具,而且是 oracle Web 服務的延伸,支持 Apache SOAP,以及 9iAS ,可擴充的環境和 XML 和 WSDL 語言緊密相關。Oracle9iJdeveloper完全利用Java編寫,能夠與以前的Oracle伺服器軟體以及其他廠商支持J2EE的應用伺服器產品相兼容,而且在設計時著重針對Oracle9i,能夠無縫化跨平台之間的應用開發,提供了業界第一個完整的、集成了J2EE和XML的開發環境,允許開發者快速開
發可以通過Web、無線設備及語音界面訪問的Web服務和交易應用,以往只能通過將傳統Java編程技巧與最新模塊化方式結合到一個單一集成的開發環境中之後才能完成J2EE應用開發生命周期管理的事實,從根本上得到改變。缺點就是對於初學者來說,較復雜,也比較難。

6、IBM的Visual Age for Java

Visual Age for Java是一個非常成熟的開發工具,它的特性以於IT開發者和業余的Java編程人員來說都是非常用有用的。它提供對可視化編程的廣泛支持,支持利用CICS連接遺傳大型機應用,支持EJB的開發應用,支持與Websphere的集成開發,方便的bean創建和良好的快速應用開發(RAD)支持和無文件式的文件處理。

IBM為建設Web站點所推出的WebSphere Studio Advanced Edition及其包含的VisualAge for Java Professional Edition軟體已全面轉向以Java為中心,這樣,Java開發人員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理、快速開發 JDBC頁向導程序、HTML編輯器和HTML語法檢查等。這確實是個不錯的HTML站點頁面編輯環境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟體包之間快速移動代碼的選項。這就讓使用Studio的Web頁面設計人員和使用VisualAge的Java程序員可以相互交換文件、協同工作。

Visual Age for Java支持團隊開發,內置的代碼庫可以自動地根據用戶做出改動而修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。與Visual Age緊密結合的Websphere Studio本身並不提供源代碼和版本管理的支持,它只是包含了一個內置文件鎖定系統,當編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟體還支持諸如Microsoft Visual SourceSafe這樣的第三方源代碼控制系統。Visual Age forJava完全面向對象的程序設計思想使得開發程序非常快速、高效。你可以不編寫任何代碼就可以設計出一個典型的應用程序框架。Visual Age for Java作為IBM電子商務解決方案其中產品之一,可以無縫地與其他IBM產品,如WebSphere、DB2融合, 迅速完成從設計、開發到部署應用的整個過程。

Visual Age for Java獨特的管理文件方式使其集成外部工具非常困難,你無法讓Visual Age for Java與其他工具一起聯合開發應用。

7、BEA 的 WebLogic Workshop

BEA WebLogic Workshop是一個統一、簡化、可擴展的開發環境,使所有的開發人員都能在 BEA WebLogic Enterprise Platform之上構建基於標準的企業級應用,從而提高了開發部門的生產力水平,加快了價值的實現。

WebLogic Workshop除了提供便捷的Web服務之外,它能夠用於創建更多種類的應用。作為整個BEA WebLogic Platform的開發環境。不管是創建門戶應用、編寫工作流、還是創建Web應用,Workshop 8.1都可以幫助開發人員更快更好地完成。

WebLogic Workshop的主要特點如下:

① 使 J2EE 開發切實可行,提高開發效率

BEA WebLogic Workshop 使開發人員遠離 J2EE 內在的復雜性,集中精力專注業務邏輯,無須操心單調乏味的基礎結構代碼。這種創新意味著,已被企業驗證的 J2EE 的強大功能,最終被大多數不熟悉 Java 和 J2EE 的應用開發人員所掌握,從而使 IT 部門的工作效率提高一個數量級。

可視化設計器以及直觀的概念,如事件、屬性和控制項等,實現了基於事件的開發。Workshop 簡化的程序設計模型,使開發人員不必掌握復雜的 J2EE API 和面向對象的程序設計原理。所有開發人員,包括 J2EE 專家和具有可視化和過程化語言技能的應用開發人員在內,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop的可視化開發環境,創建帶有代碼注釋的標准 Java 文件,用來說明由運行時框架實施的企業級需求。J2EE 和其他高級開發人員,藉助功能強大的代碼編輯功能,可以訪問Java 源代碼,從而彌補了可視化設計器的不足。

② 構建企業級應用

通過在可伸縮、安全可靠的企業級架構上實施各種應用,BEA WebLogicWorkshop 大大降低了開發風險。而且,所有應用的創建都使用標準的 J2EE 組件,既保護了您的技術投資,又保持了最大的靈活性。
BEA WebLogic Workshop 運行框架,是統一整個架構的匯聚層,使單一、簡化的程序設計模型擴展到所有的 BEA WebLogic Enterprise Platform 應用類型。通過解釋設計時創建的注釋代碼,運行時框架可以實現必要的 J2EE 組件,並且提取出與 J2EE 應用開發有關的所有底層細節。

③ 降低 IT 復雜性

BEA WebLogic Workshop 提供各種 Java 控制項,使得與 IT 資源的連接更輕而易舉。另外,在構建任何 BEA WebLogic Platform 的應用中,Java 控制項不僅可擴展而且完全相同。這種強大、有效的方法能夠:降低 IT 技術的復雜性,優化信息的可用性,推動包含"最佳業務方案"的可重用服務的開發,使開發人員能以更低的成本、更短的時間實現更大的產出。

利用 BEA WebLogic Workshop,任何開發人員都能以最大的生產效率,構建各種Web 服務、Web 應用、門戶和集成項目。BEA WebLogic Workshop是BEA的產品戰略核心,它幫助客戶接觸和利用面向服務架構SOA)的強大功能。BEA Weblogic Workshop8.1極大簡化了當前實際企業集成環境中企業級應用和服務的構建,並成為全面支持關鍵企業級應用(如非同步、真正松耦合和粗粒度消息傳送等)的自然選擇。它的缺點就是過於復雜,對於初學者來說,理解起來較為困難。

8、WebGain 的Visual Cafe for Java

Visual Cafe 是只能在Symantec公司的Java虛擬機、Netscape公司的Java虛擬機和Microsoft虛擬機上工作的調試器。這對於開發者來講是一個重要的特性,因為用戶開發的Java代碼中的許多軟體bug就可能中會在某種特定的虛擬機上起作用。

在修改後進行編譯基繼續進行調試時,Visual Cafe會自動將文件存檔,使用VisualCafe創建的原生應用具有許多特點。除了明顯的速度提高之外,Symantec使類庫的二進制方式比正常的JDK小Visual Cafe為所指定的關系自動生成或更新必要的Java代碼。利用Visual Cafe,用戶可以從一個標准對象資料庫中集合完整的Java應用程序和Applet,而不必再編寫源代碼。Visual Cafe還提供了一個擴充的源代碼開發工具集。

Visual Cafe綜合了Java軟體的可視化源程序開發工具,它允許開發人員在可視化視圖和源視圖之間進行有效地轉換。在可視化視圖中進行的修改立即反映在源代碼中。對源代碼的改變自動更新可視化視圖。

Visual Cafe具有許多源文件方面的特性,如全局檢索和替換。絕大多數Java開發工具的文獻的問題在於簡單地挨個介紹開發工具的每部分組件,但用戶在開應用時還需要一個面向任務的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開始創建自己的應用。Visual Cafe提供了非常全面的用戶指南,它對最開始的安裝到創建第一個Java應用和Applet都提供了全面的幫助,Visual Cafe將自動生成所指明關系的必要Java代碼。Visual Cafe可以在Windows 95和Windows NT平台下運行,Symantec公司為Java開發工作提供一個在Macintosh操作系統下可以運行的RAD工具。Visual Cafe編譯器速度很快,在國際化支持方面比較突出;缺點就是對於初學者來說,較復雜,也比較難。

9、Macromedia的JRUN

Macromedia公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由Java Servlets和JavaServer Pages編寫的伺服器端Java應用。JRun是第一個完全支持JSP1.0 規格書的商業化產品,全球有超過80,000名開發人員使用JRun在他們已有的Web伺服器上添加伺服器端Java的功能。其中Web伺服器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。

JRun是開發實施伺服器端Java的先進引擎。如果我們希望在我們的Web應用中添加伺服器端Java功能,那麼JRun將成為我們的正確選擇。

JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規格書1.0的商業化產品。JSP是一種強大的伺服器端技術,它是用於創建復雜Web應用的一整套快速應用開發系統。JRun可以使我們開始開發並測試Java應用。它最多接受5個並發的連接並且包括全部Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web servers和計算機平台。 JRun Pro能夠在生產環境下承受大訪問量的負載,幫助我們實施應用、服務或Web站點(包括內聯網)。JRun Pro 支持無限量並發式連接運行多個Java虛擬機,包括多個並發的Java虛擬機(JVM)。提供一個遠程管理applet以及一個遠程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外,還可以運行無限量的,並發的JVM。

JRun依靠其內置的JRun Web Server可以單獨運行。使用伺服器端Java,用戶可以開發出復雜的商業應用系統。最重要的一點是,由於servlets的平台獨立性,以及更加簡單的開發、更快速的實施、更經濟的維護成本,它是CGI(Common Gateway Interface)或Perl scripts的極佳的替代產品。缺點就是對於初學者來說,較復雜,也比較難。

10、JCreator

JCreator 是一個Java程序開發工具,也是一個Java集成開發環境(IDE)。無論你是要開發Java應用程序或者網頁上的Applet元件都難不倒它。在功能上與Sun公司所公布的JDK等文字模式開發工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限Undo/Redo等功能。

JCreator為用戶提供了相當強大的功能,例如項目管理功能,項目模板功能,可個性化設置語法高亮屬性、行數、類瀏覽器、標簽文檔、多功能編繹器,向導功能以及完全可自定義的用戶界面。通過JCreator,我們不用激活主文檔而直接編繹或運行我們的JAVA程序。

JCreator能自動找到包含主函數的文件或包含Applet的Html文件,然後它會運行適當的工具。在JCreator中,我們可以通過一個批處理同時編繹多個項目。JCreator的設計接近Windows界面風格,用戶對它的界面比較熟悉。其最大特點是與我們機器中所裝的JDK完美結合,是其它任何一款IDE所不能比擬的。它是一種初學者很容易上手的java開發工具,缺點是只能進行簡單的程序開發,不能進行企業J2EE的開發應用。

11、Microsoft VJ++

Visual J++ 是Microsoft 公司推出的可視化的Java 語言集成開發環境(IDE),為Java 編程人員提供了一個新的開發環境,是一個相當出色的開發工具。無論集成性、編譯速度、調試功能、還是易學易用性,都體現了Microsoft 的一慣風格。Visual J++ 具有下面的特點:

1)Visual J++ 把Java 虛擬機(JVM)作為獨立的操作系統組件放入Windows,使之從瀏覽器中獨立出來。

2)Microsoft 的應用基本類庫(AFC,Application Foundation Class Library)對SUN 公司的JDK 作了擴展,使應用基本類庫更加適合在Windows 下使用。

3) Visual J++ 的調試器支持動態調試,包括單步執行、設置斷點、觀察變數數值等。

4) Visual J++ 提供了一些程序向導(Wizards)和生成器(Builders),它們可以方便地幫助用戶快速地生成Java 程序,幫助你在自己的工程中創建和修改文件。

5) Visual J++ 界面友好,其代碼編輯器具有智能感知、聯機編譯等功能,使程序編寫十分方便。Visual J++ 中建立了Java 的WFC,這一新的應用程序框架能夠直接訪問Windows 應用程序介面(API),使你能夠用Java 語言編寫完全意義上的Windows 應用程序。

6)Visual J++ 中表單設計器的快速應用開發特性使用WFC 創建基於表單的應用程序變得輕松、簡單。通過WFC 可以方便地使用ActiveX 數據對象(ADO,ActiveX Data Objects)來檢索數據和執行簡單數據的綁定。通過在表單設計器中使用ActiveX 數據對象,可以快速地在表單中訪問和顯示數據。

Visual J++能結合微軟的一貫的編程風格,很方便進行Java 的應用開發,但它的移植性較差,不是純的Java 開發環境。

12、Eclipse

Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯盟,並由該聯盟負責這種工具的後續開發。集成開發環境(IDE)經常將其應用范圍限定在「開發、構建和調試」的周期之中。為了幫助集成開發環境(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平台。Eclipse允許在同一IDE中集成來自不同供應商的工具,並實現了工具之間的互操作性,從而顯著改變了項目工作流程,使開發者可以專注在實際的嵌入式目標上。

Eclipse框架的這種靈活性來源於其擴展點。它們是在XML中定義的已知介面,並充當插件的耦合點。擴展點的范圍包括從用在常規表述過濾器中的簡單字元串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴展點。除了解由擴展點定義的介面外,插件不知道它們通過擴展點提供的服務將如何被使用。

利用Eclipse,我們可以將高級設計(也許是採用UML)與低級開發工具(如應用調試器等)結合在一起。如果這些互相補充的獨立工具採用Eclipse擴展點彼此連接,那麼當我們用調試器逐一檢查應用時,UML對話框可以突出顯示我們正在關注的器件。事實上,由於Eclipse並不了解開發語言,所以無論Java語言調試器、C/C++調試器還是匯編調試器都是有效的,並可以在相同的框架內同時瞄準不同的進程或節點。

Eclipse的最大特點是它能接受由Java開發者自己編寫的開放源代碼插件,這類似於微軟公司的Visual Studio和Sun微系統公司的NetBeans平台。Eclipse為工具開發商提供了更好的靈活性,使他們能更好地控制自己的軟體技術。Eclipse聯盟已經宣布將在2004年中期發布其3.0版軟體。這是一款非常受歡迎的java開發工具,這國內的用戶越來越多,實際上實用它java開發人員是最多的。缺點就是較復雜,對初學者來說,理解起來比較困難。

13、Ant

Another Neat Tool(Ant)是一種基於Java的build工具。理論上來說,它有些類似於(Unix)C中的make ,但沒有make的缺陷。因為Ant的原作者在多種(硬體)平台上開發軟體時,無法忍受這些工具的限制和不便。類似於make的工具本質上是基於shell(語言)的:他們計算依賴關系,然後執行命令(這些命令與你在命令行敲的命令沒太大區別)。這就意味著你可以很容易地通過使用OS特有的或編寫新的(命令)程序擴展該工具;
然而,這也意味著你將自己限制在了特定的OS,或特定的OS類型上,如Unix。Ant就不同了。與基於shell命令的擴展模式不同,Ant用Java的類來擴展。(用戶)不必編寫shell命令,配置文件是基於XML的,通過調用target樹,就可執行各種task。每個task由實現了一個實現了特定Task介面的對象來運行。

Ant支持一些可選task,一個可選task一般需要額外的庫才能工作。可選task與Ant的內置task分開,單獨打包。這個可選包可以從你下載Ant的同一個地方下載。ANT本身就是這樣一個流程腳本引擎,用於自動化調用程序完成項目的編譯,打包,測試等。除了基於JAVA是平台無關的外,腳本的格式是基於XML的,比make腳本來說還要好維護一些。Ant是Apache提供給Java開發人員的構建工具,它可以在Windows OS和Unix OS下運行,它不僅開放源碼並且還是一個非常好用的工具。Ant是Apache Jakarta中一個很好用的Java開發工具,Ant配置文件採用XML文檔編寫,所以Java程序員對其語法相當熟悉,Ant是專用於Java項目平台,能夠用純Java來開發,它能夠運行於Java安裝的平台,即體現了它的跨平台功能。它的缺點顯示執行結果只能是DOS字元界面,不能進行復雜的java程序開發。

14、IntelliJ

Intellij IDEA是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場上最好的IDE。它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持J2EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創新的GUI設計器。IDEA把Java開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及GUI設計器。

IntelliJ IDEA能盡可能地促進程序員的編程速度。它包括了很多輔助的功能,並且與Java結合得相當好。不同的工具窗口圍繞在主編程窗口周圍,當滑鼠點到時即可打開,無用時也可輕松關閉,使用戶得到了最大化的有效屏幕范圍。以技術為導向的IDEA集成了調試器,支持本地和遠程的調試,即使我們需要修改一些設置上的東西使我們的工作順利進展。另外,它還提供了通常的監視,分步調試以及手動設置斷點功能,在這種斷點模式下,我們可以自動地在斷點之外設置現場訪問,甚至可以瀏覽不同的變數的值。IDE支持多重的JVM設置,幾個編譯程序和Ant建造系統,並且,它使得設置多重的自定義的類途徑變得簡單。

IntelliJ Idea是一個相對較新的Java IDE。它是Java開發環境中最為有用的一個。高度優化的IntelleJ Idea使普通任務變得相當容易,Idea支持很多整合功能,更重要的使它們設計的好容易使用。Idea支持XML中的代碼實現,Idea同時還會校正XML,Idea支持JSP的結構。作用於普通Java代碼的眾多功能同樣適用於JSP(比如整合功能),同時支持JSP調試;支持EJB,盡管它不包括對個別應用伺服器的特殊支持。Idea支持Ant建立工具,不僅是運行目標它還支持編譯與運行程序前後運行目標,另外也支持綁定鍵盤快捷鍵。在編輯一個Ant建立XML文件時,Idea還對組成Ant工程的XML部分提供支持。IntelliJ IDEA 被稱為是最好的JAVA IDE開發平台,這套軟體就是以其聰明的即時分析和方便的 refactoring 功能深獲大家所喜愛。缺點是較復雜,對初學者來說,理解起來比較困難。

小結

現在常用的Java項目開發環境有:JBuilder、VisualAge for Java、Forte forJava, Visual Cafe、Eclipse、NetBeans IDE、JCreator +J2SDK、jdk+記事本、EditPlus+ J2SDK等等。一般開發J2EE項目時都需要安裝各公司的應用伺服器(中間件)和相應的開發工具,在使用這些開發工具之前,我們最好能熟知這些軟體的優點和缺點,以便根據實際情況選擇應用。編程工具只是工具,為了方便人們工作而開發的,各有特點,因此,選工具主要的依據自己將要從事的領域是什麼,而不是盲目的認為那種工具好,那種工具不好。最後希望大家都能找到自己合適的java 開發工具。

Ⅱ 軟體公司開發項目是怎麼搭架項目框架的(是一個人搭建還是每個人都建),程序員是怎麼用搭架框架分工開發的

軟體公司開發項目框架一般是由架構師或者技術經理搭建的,有基礎的web開發技術框架,源代碼控制框架和管理框架,現在一個web開發技術框架包含前端、後端和資料庫三個大的方向,各個方向的技術框架都不一樣。現在主流的技術框架包含.NET、SqlServer、Bootstrap等,各個方向都有專業的程序員進行開發。

軟體開發框架詳細介紹

軟體前端開發技術包括三個要素:HTML、CSS和JavaScript,當然還有很多高級的前端框架,比如bootstrap、Jquery等,前端開發也是比較的復雜,如果找到規律,開發起來也比較的快。

軟體開發後端技術也有很多,比如.Net、JAVA、PHP等,各大語言都有其開發架構,像.NET的MVC架構,一般web後端技術的知識面是很廣的,設計模式、需求分析、性能優化等都要懂。

軟體開發資料庫現在有三種主流的資料庫:MysqlSQLserverOracle,還有Nosql資料庫:Redis、Mogodb等。

人員分工一般是按照上述三個大方向來分配任務的。

Ⅲ eclipse中哪個「版本控制」比較好用 vss 還是cvs

新版本的eclipse應該緩知神都集成svn吧。
svn是cvs的猛尺改進擾虧版本,比較好用
vss是微軟的吧?這個沒怎麼用過。

Ⅳ WinCvs1.3 在使用比較功能時,怎麼不能並排比較。那些比較是在框的下面。請高手指點怎麼進行設置呢

現在有1.5版本,有這個功能。重新裝新版本吧,老版本沒有呀

Ⅳ SVN伺服器是什麼

一軟體,就是版本控制器,根據你的操作,記錄你的代碼更改和版本,方便以後的查詢,出錯還原和多人合作時等使用。

Ⅵ Java程序員們請進,請問CVS里的checkout是什麼意思請詳細點。。

初始化:CVS版本庫的初始化。 cvs init

一個項目的首次導入 cvs import -m "write some comments here" project_name vendor_tag release_tag 執行後:會將所有源文件及目錄導入到/path/to/cvsroot/project_name目錄下 vender_tag: 開發商標記 release_tag: 版本發布標記

項目導出:將代碼從CVS庫里導出 cvs checkout project_name cvs 將創建project_name目錄,並將最新版本的源代碼導出到相應目錄中。這個checkout和Virvual SourceSafe中的check out不是一個概念,相對於Virvual SourceSafe的check out是cvs update, check in是cvs commit。

CVS的日常使用

注意:第一次導出以後,就不是通過cvs checkout來同步文件了,而是要進入剛才cvs checkout project_name導出的project_name目錄下進行具體文件的版本同步(添加,修改,刪除)操作。

將文件同步到最新的版本 cvs update 不制定文件名,cvs將同步所有子目錄下的文件,也可以制定某個文件名/目錄進行同步 cvs update file_name 最好每天開始工作前或將自己的工作導入到CVS庫里前都要做一次,並養成「先同步 後修改」的習慣,和Virvual SourceSafe不同,CVS里沒有文件鎖定的概念,所有的沖突是在commit之前解決,如果你修改過程中,有其他人修改並commit到了CVS 庫中,CVS會通知你文件沖突,並自動將沖突部分用 >>>>>> content on cvs server <<<<<< content in your file >>>>>> 標記出來,由你確認沖突內容的取捨。版本沖突一般是在多個人修改一個文件造成的,但這種項目管理上的問題不應該指望由CVS來解決。

確認修改寫入到CVS庫里 cvs commit -m "write some comments here" file_name

注意:CVS的很多動作都是通過cvs commit進行最後確認並修改的,最好每次只修改一個文件。在確認的前,還需要用戶填寫修改注釋,以幫助其他開發人員了解修改的原因。如果不用寫-m "comments"而直接確認`cvs commit file_name` 的話,cvs會自動調用系統預設的文字編輯器(一般是vi)要求你寫入注釋。注釋的質量很重要:所以不僅必須要寫,而且必須寫一些比較有意義的內容:以方便其他開發人員能夠很好的理解不好的注釋,很難讓其他的開發人員快速的理解:比如: -m "bug fixed" 甚至 -m "" 好的注釋,甚至可以用中文: -m "在用戶注冊過程中加入了Email地址校驗"

修改某個版本注釋:每次只確認一個文件到CVS庫里是一個很好的習慣,但難免有時候忘了指定文件名,把多個文件以同樣注釋commit到CVS庫里了,以下命令可以允許你修改某個文件某個版本的注釋: cvs admin -m 1.3:"write some comments here" file_name

添加文件創建好新文件後,比如:touch new_file cvs add new_file 注意:對於圖片,Word文檔等非純文本的項目,需要使用cvs add -kb選項按2進制文件方式導入(k表示擴展選項,b表示binary),否則有可能出現文件被破壞的情況比如: cvs add -kb new_file.gif cvs add -kb readme.doc

如果關鍵詞替換屬性在首次導入時設置錯了怎麼辦? cvs admin -kkv new_file.css

然後確認修改並注釋 cvs ci -m "write some comments here"

刪除文件將某個源文件物理刪除後,比如:rm file_name cvs rm file_name 然後確認修改並注釋 cvs ci -m "write some comments here" 以上面前2步合並的方法為: cvs rm -f file_name cvs ci -m "why delete file" 注意:很多cvs命令都有縮寫形式:commit=>ci; update=>up; checkout=>co/get; remove=>rm;

添加目錄 cvs add dir_name

查看修改歷史 cvs log file_name cvs history file_name

查看當前文件不同版本的區別 cvs diff -r1.3 -r1.5 file_name 查看當前文件(可能已經修改了)和庫中相應文件的區別 cvs diff file_name cvs的web界面提供了更方便的定位文件修改和比較版本區別的方法,具體安裝設置請看後面的cvsweb使用

正確的通過CVS恢復舊版本的方法:如果用cvs update -r1.2 file.name 這個命令是給file.name加一個STICK TAG: "1.2" ,雖然你的本意只是想將它恢復到1.2版本正確的恢復版本的方法是:cvs update -p -r1.2 file_name >file_name 如果不小心已經加成STICK TAG的話:用cvs update -A 解決

移動文件/文件重命名 cvs里沒有cvs move或cvs rename,因為這兩個操作是可以由先cvs remove old_file_name,然後cvs add new_file_name實現的。

刪除/移動目錄最方便的方法是讓管理員直接移動,刪除CVSROOT里相應目錄(因為CVS一個項目下的子目錄都是獨立的,移動到$CVSROOT目錄下都可以作為新的獨立項目:好比一顆樹,其實砍下任意一枝都能獨立存活),對目錄進行了修改後,要求其開發人員重新導出項目cvs checkout project_name 或者用cvs update -dP同步。

項目發布導出不帶CVS目錄的源文件做開發的時候你可能注意到了,每個開發目錄下,CVS都創建了一個CVS/目錄。裡面有文件用於記錄當前目錄和CVS庫之間的對應信息。但項目發布的時候你一般不希望把文件目錄還帶著含有CVS信息的CVS目錄吧,這個一次性的導出過程使用cvs export命令,不過export只能針對一個TAG或者日期導出,比如: cvs export -r release1 project_name cvs export -D 20021023 project_name cvs export -D now project_name

Ⅶ 作為程序員的你,常用的軟體有哪些

這個就非常多了,下面我以常見的編程開發軟體和資料庫管理軟體為例,簡單介紹幾種,感興趣的朋友可以嘗試一下:

01 編程開發軟體

這個要看具體編程語言了,不同語言開發工具自然不同,這里以常見的C/C++、Java和Python為例,簡單介紹3種比較常用的軟體:

這是Windows平台下一個非常專業的集成開發工具,號稱宇宙第一IDE環境,不僅僅只是C/C++,常見的C#、VB等編程語言,這個軟體都能很好支持,智能補全、代碼高亮、語法檢查等功能非常不錯,除此之外,還支持單元測試、代碼重構和分析等高級功能,因此非常適合大型項目開發和維護:

這是一個非常專業智能的Java開發工具,在企業和個人桌面中,有著非常高的使用率和歡迎度,自動補全、語法提示、代碼高亮等功能非常不錯,除此之外,還支持JUnit、CVS整合、代碼重構等高級功能,自帶有Maven和Gradle構建工具,因此更適合Java項目開發和維護,個人使用起來非常不錯:

這是一個非常專業的Python開發軟體,和IntelliJ IDEA一樣,Jetbrains公司的產品,在業界非常流行、受歡迎,智能補全、代碼高亮、語法提示等功能非常不錯,除此之外,還支持代碼重構和分析、單元測試等高級功能,因此更適合大型項目,個人使用來說,也非常簡單,很容易上手和掌握:

02 資料庫管理軟體

這個就非常多了,不同資料庫都有專門的管理軟體和工具,這里簡單介紹3個比較通用的資料庫管理軟體,分別是HeidiSQL、DBeaver和DataGrip,對於日常使用來說,非常不錯:

這是Windows平台下一個非常輕巧靈活的資料庫管理軟體,基於Delphi開發而來,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流資料庫,常見的建庫建表、視圖索引、觸發器等基本功能,這個軟體都能很好兼容,除此之外,還支持SQL腳本導入導出、數據備份恢復等功能,對於日常資料庫管理來說,非常不錯:

這是一個基於Java開發的資料庫管理軟體,免費、開源、跨平台,目前支持Oracle、MySQL、PostgreSQL、SQL Server等十幾種主流資料庫開發,建庫建表、視圖索引、觸發器、存儲過程等基本功能 都 可輕松查看和設計,資料庫導入導出、數據 恢復 備份等功能也都非常不錯,對於日常資料庫管理和維護來說,是一個非常不錯的工具:

這也是一個通用的資料庫管理軟體,Jetbrains公司的產品,支持跨平台,但原則上針對個人不免費,常見的PostgreSQL、MySQL、Oracle等資料庫,這個軟體都能很好支持, 數據導入導出( 恢復備份 )、 智能代碼填充、版本 集成 控制等功能非常不錯,對於日常資料庫管理來說,也是一個不錯的工具:

每天常用開發工具:

0.Git:分布式版本控制系統;

1.IntelliJ IDEA:java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一;

2.Sublime Text:不只是代碼編輯器;

3.Postman:Http請求模擬工具和功能強大的網頁調試工具;

4.DataGrip:支持幾乎所有主流的關系資料庫、多功能的資料庫操作工具;

5.Vagrant:用於創建和部署虛擬化開發環境,配合虛擬機使用;

6.Gradle:自動化構建工具;

7.JIRA:項目與事務跟蹤工具;

8.iTerm2:Mac上的終端工具;

9.Jenkins:持續集成工具。

做了一個寫代碼用了十幾年的人,很多編程的習慣已經養成了,現在就羅列下每天必用的軟體:

直接安裝的linux系統,因為幾乎所有的代碼都是在linux下完成


java開發環境


C/C++代碼編輯工具


linux下虛擬windows系統virtualBox


軟體提交工具git

不同的開發語言,每天要用到的軟體可能不一樣。

我是開發java web的,電腦安裝了很多工具,但是說每天要用到的好像就幾個。


作為程序員使用最多的軟體,莫過於編程開發所用到的軟體編輯器,但是編輯器的種類有很多。我們需要做到的是,找到你最喜歡的編輯器然後熟練的使用它。

同時掌握常見的一些快捷鍵的操作方式,從而來提升我們的工作效率,而不是以軟體而論軟體,什麼都去接觸使用。畢竟軟體是工具是幫助我們提升開發效率。


下面我就列舉我們PHP經常使用的軟體

IDE工具類軟體

這一類是開發軟體編寫代碼用的。這一類的軟體非常多,我就推薦一個經常使用的PHPStorm,因為太多的話大家也用不到,也沒有那麼多的精力去熟練每一個編輯器。


PHPStorm是 JetBrains 公司開發的一款商業的 PHP 集成開發工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。可以說是PHP開發程序員必備的神器。

常用快捷鍵如下:

1.復制快捷方式

F5 復制文件/文件夾

CTRL+C 復制

CTRL+V 粘貼

CTRL+X 剪 切,刪除行

CTRL+D 復制行

CTRL+SHIFT+V 可以復制多個文本

2.自動代碼

ALT+回車 導入包,自動修正

CTRL+ALT+L 格式化代

碼CTRL+ALT+I 自動縮進

CTRL+ALT+O 優化導入的類和包

CTRL+SHIFT+SPACE 切換窗口

CTRL+SPACE空格 代碼自動完成,代碼提示,一般與輸入法沖突

CTRL+ALT+SPACE 類 名或介面名提示(與系統沖突)

CTRL+P 方法參數提示,顯示默認參數

CTRL+J 自動代碼提示,自動補全

CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里ALT+INSERT 生成代碼(如GET,SET方法,構造函數等)

3.運行

Alt + Shift + F10 選擇的配置和運行

Alt + Shift + F9 選擇配置和調試

Shift + F10 運行

Shift + F9調試

Ctrl + Shift + F10運行范圍內配置編輯器

Ctrl + Shift + X運行命令行

4.其他快捷方式

CTRL+Z 倒退(代碼後悔)

CTRL+SHIFT+Z 向前

CTRL+H 顯 示類結構圖

Ctrl +F12 文件結構彈出

CTRL+O 魔術方法

CTRL+/ 注釋//取消注釋

CTRL+SHIFT+/ 注釋/*...*/

ctrl + '.': 折疊選中的代碼的代碼

ALT+ / 切換代碼視圖,標簽切換

5.其他快捷方式

CTRL+Z 倒退(代碼後悔)

CTRL+SHIFT+Z 向前

CTRL+H 顯 示類結構圖

Ctrl +F12 文件結構彈出

CTRL+O 魔術方法CTRL+/ 注釋//取消注釋

CTRL+SHIFT+/ 注釋/*...*/

ctrl + '.': 折疊選中的代碼的代碼

ALT+ / 切換代碼視圖,

資料庫相關常用的工具

Navicat for MySQL是管理資料庫的操作工具,都是可以連接遠程的雲資料庫。方便簡化開發,還可以手動備份、可視化的sql分析。

常用快捷鍵:

ctrl+q 打開查詢窗口

ctrl+/ 注釋sql語句

ctrl+shift +/ 解除注釋

ctrl+r 運行查詢窗口的sql語句

ctrl+shift+r 只運行選中的sql語句

F6 打開一個mysql命令行窗口

ctrl+d (1):查看錶結構詳情,包括索引 觸發器,存儲過程,外鍵,唯一鍵;(2):復制一行

ctrl+l 刪除一行

ctrl+n 打開一個新的查詢窗口

ctrl+w 關閉一個查詢窗口

ctrl+tab 多窗口切換

伺服器連接軟體

XShell6是非常強大的SSH遠程終端客戶端,幫助我們連接遠程的Linux伺服器來進行操作。

粘貼:Shift+Insert

歷史 命令編輯ctrl + p 返回上一次輸入命令字元

alt + > 返回上一次執行命令

其它

ctrl + s 鎖住終端

ctrl + q 解鎖終端

ctrl + l 清屏相當於命令clear

Tab鍵,快速補全命令

輕量級文本編輯器

Notepad++。這個很輕量,打開一下文本非常的方便。

常用快捷鍵

Ctrl+C 復制

Ctrl+X 剪切

Ctrl+V 粘貼

Ctrl+Z 撤消

Ctrl+Y 恢復

Ctrl+A 全選

Ctrl+F 鍵查找對話框啟動

Ctrl+H 查找/替換對話框

Ctrl+D 復制並粘貼當行

Ctrl+F2 切換書簽

F2 轉到下一個書簽Shift+F2 轉到上一個書簽

F11 全屏模式


綜上所述,軟體只是一個工具,我們需要找到自己喜歡使用的,然後熟練一些常用的快捷方式即可,而並不是在於數量多。

前端

visual studio code

後端:

pycharm

IDEA

安卓:

android studio

瀏覽器:

谷歌

火狐

資料庫管理:

navicat


遠端鏈接:

fileZilla

xshell

electerm(mac上使用)


流程圖設計:

xmind

processOn

筆記:

為知筆記(付費一年60)

有道雲筆記

虛擬機(容器)

VMware Fusion(mac上)

docker


其他:

postman

jmeter

作為一個12年開發經驗的前端程序員,我來聊聊每天必用的幾個軟體。

寫代碼自然離不開 編輯器 。目前我主要使用的是微軟的 Visual Studio Code 。VS Code比較輕量,功能足夠應付日常開發所需,跨平台,而且完全免費 。因為之前長期使用Visual Studio在Windows平台上做開發,後來技術棧變化,經常需要在Linux和MacOS上做開發,VS Code就成了我順理成章的選擇。後來乾脆在Windows上也用VS Code了。目前整個團隊都已經被VS Code圈粉了。其它類似的如Sublime Text(需要付費)和Atom也有不少人使用。

因為是團隊開發, 源代碼管理工具 自然必不可少,而 git 是目前最熱門的一個。我們公司也不例外,幾年前從Perforce遷移到了 GitHub企業版 (和公眾版本UI完全相同)。平時的代碼審查也都是在GitHub企業版上完成的,不再使用單獨的代碼審查工具。有些不習慣使用命令行方式的同事使用 SourceTree 完成日常的代碼分支管理和提交,而我則比較熱衷於命令行方式。VS Code也提供了比較完善的git集成,但因為習慣的原因,除了直觀比較不同代碼版本的差異,我一般也不用VS Code執行git操作。

作為一個Web前端, 瀏覽器及前端調試工具 自然不可或缺, Google Chrome + Developer Tools (F12) 自然是首選。使用Developer Tools,可以對JavaScript進行調試,監控HTTP請求/響應,分析CSS計算問題和JS性能問題。 Chrome下還有很多功能強大的插件,個人比較常用的包括React Developer Tools、PostMan、Proxy SwitchOmega和AdBlock。當然,因為經常面對瀏覽器兼容性問題,Firefox、IE、Edge、Apple Safari以及各自的Developer Tools都是免不了要用的。

團隊目前使用Scrum模型,自然需要一個做 任務規劃和質量管理 的工具。我們採用了 JIRA , 每天的站會(daily stanp meeting)都會對scrum看板(board)進行更新。

遇到技術問題,自然免不了要上網查找資料。 Google 的使用頻率非常高(需要科學上網)。大部分問題都能在 StackOveflow 上找到線索,但有時候也不得不跑到大名鼎鼎的同性交友網站 GitHub 上看源碼。 MDN (Mozilla Developer Network)對於前端開發也是不可或缺(此處鄙視一下w3cschool,上面到處是錯誤知識)。

其它如node.js/npm、docker等,因為和具體的技術棧相關,就不具體展開講了。

作為一個開發人員,你每天使用什麼軟體呢,歡迎說說看。

盡管我是後端出身的,不過也經常寫前端代碼,甚至還用C#/C++參與過一些客戶端開發,自認為也算是一個Web全棧工程師。隨著前端技術的不斷進步,現在的前端已經不再是寫寫頁面這么簡單了,很多邏輯在前端就寫了,我建議每一個出色的開發者應該盡可能對前後端都能有不錯的掌握。

今天給大家推薦一些我認為前端和後端開發都需要經常用到的一些軟體,這裡麵包括了查詢資料工具、原型工具、文本編輯器、版本管理工具。

原型工具

不管前端還是後端,尤其是前端程序員,在跟產品經歷溝通之後肯定會要查看原型的,方便自己在開發過程中使用,基本上大公司輸出的原型都比較規范,除非你遇到張小龍這種級別的大神,哥們兒直接盯著你做了。

目前主流的原型工具主要有Axure、MockPlus、墨刀等,其中Axure依然是應用最為廣泛的原型工具,大多數開發者也都應該用來看原型。

文本編輯器

不管是前端還是後端程序員,當然前端程序員就不說了,在WebStorm出現之前,沒有一款真正可以叫做IDE的前端開發工具,那麼基本上文本編輯器就是前端程序員最重要的編程工具。同樣後端程序員即使不需要寫前端代碼,文本編輯器也是必備的,您不需要每次看代碼都打開龐大的集成開發環境,像IDEA這種比較耗費資源的,平時查看代碼啥的完全沒有必要,何況你還經常要看一些前端代碼。

當然你比較習慣Linux/Unix下開發,Emacs/Vim可能是你用得比較多的文本編輯器,還有UltraEdit、Sublime Text、EditPlus、Atom這些老牌的文本編輯器,不過現在我覺得每個程序員都應該下載一個Visual Studio Code,支持的語言比較多,而且插件非常豐富,是微軟官方支持的開發者工具,開源免費而且顏值非常高。

查詢資料、版本管理工具

不用多說,每個程序員都要學會很好的使用Google、Stack Overflow兩個工具,可以說你日常開發當中可能遇到的問題,通過這兩個工具你全都能找到解決方案。

另外一個是Dash文檔管理工具,Dash是一個非常好的開發者幫助文檔工具,這個工具的好處是給所有的開發文檔做了一個整合,C/C++、Java、PHP、Python、Latex、Emacs Lisp、Haskell、JavaScript、Go語言等文檔都能夠在這個工具當中下載使用。

最後一個就是版本管理了,SVN和Git依然是目前使用最為廣泛的版本管理工具,不過就使用來說我還是推薦Git版本控制系統,可以說這個時代Git就是最好的版本管理工具了,尤其是開源時代、互聯網時代,Git已經成為了最重要的版本管理工具,不管是命令行管理還是使用Github等客戶端工具,堪稱完美。

入行十一年,現在主要做一些管理和架構方面的工作,也會做一些Coding,主要是一些新技術的研究和「踩坑」。

編輯器

首先是EditPlus,這是一個文本編輯器。最常用的兩個功能:正則表達式查詢和文件夾內所有文件內容搜索。

平時經常需要看一些系統日誌,甚至要從好幾天幾十個日誌文件中找到內容,這個軟體很好用。(原諒我們沒有上日誌平台)

然後就是IDE啦,我還是喜歡用Eclipse,有時候會用STS(Spring Tool Suite),它也是一個被包裝過的Eclipse,方便做一些Spring框架的研究。



資料庫工具

一個是DbVisualizer,凡是具有JDBC資料庫介面的資料庫都可以管理,什麼資料庫都能連。

還有一個是SQLyog,這是一個快速而簡潔的圖形化管理MYSQL資料庫的工具,我只用裡面一個功能,就是數據的導入導出,效率非常高!



介面測試工具

大部分項目只對外提供介面服務,所以介面測試工具少不了,我一般使用SoapUI,WebService/Rest都可以進行測試。



其他

每天肯定會用的肯定不止上面幾個,還有版本控制工具svn和git,都會用到是因為單位svn現在開始往git遷移。

因為用的Scrum敏捷開發流程,所以JIRA、Sonar、Fisheye這些也是都會用到的。

Maven也不用說了,幾個項目基本都是基於Maven構建的。

必用的基本就是這些,只要電腦開著,這幾個軟體基本都是打開狀態。

Ⅷ CVS 簡述拜託各位大神

CVS CVS是一個C/S系統,是一個常用的代碼版本控制軟體。主要在開源軟體管理中使用。與它相類似的代碼版本控制軟體有subversion。 工作模式如下: CVS伺服器(文件版本庫) CVS(Concurrent Version System)版本控制系統是一種GNU軟體包,主要用於在多人開發環境下的源碼的維護。實際上CVS可以維護任意文檔的開發和使用,例如共享文件的編輯修改,而不僅僅局限於程序設計。CVS維護的文件類型可以是文本類型也可以是二進凳裂制類型。CVS用Copy-Modify-Merge(拷貝、修改、合並)變化表支持對文件的同時訪問和修改。它明確地將源文件的存儲和用戶的工作空間獨立開來,並使其並行操作。CVS基於客戶端/伺服器的行為使其可容納多個用戶,構成網路也很方便。這一特性使得CVS成為位於不同地點的人同時處理數據文件(特別是程序的源代碼)時的首選。 所有重要的免費軟體項目都使用CVS作為其程序員之間的中心點,以便能夠綜合各程序員的改進和更改。這些項目包括GNOME、KDE、THE GIMP和Wine等。 CVS的基本工作思路是這樣的:在一台伺服器上建立一個源代碼庫,庫里可以存放許多不同項目的源程序。由源代碼庫管理員統一管理這些源程序。每個用戶在使用源代碼庫之前,首先要把源代碼庫里的項目文件下載到本地,然後用戶可以在本地任意修改,最後用CVS命令進行提交,由CVS源代碼庫統一管理修改。這樣,就好像只有一個人在修改文件一樣,既避免了沖突,又可以做到跟蹤文件變化等。 CVS是並發版本系統(Concurrent Versions System)的意思,主流的開放源碼網路透明的版本控制系統。CVS對於從個人開發者到大型、分布團隊都是有用的。 它的客戶機/伺服器存取方法使得開發者可以從任何網際網路的接入點存取最新的代碼。它的無限制的版本管理檢出(check out:注1)的模式避免了通常的因為排它檢出模式而引起的人工沖突。 它的客戶端工具可以在絕大多數的平台上使用。 CVS被應用於流行的開放源碼工程中,象Mozilla,GIMP,XEmacs,KDE,和GNOME等。 那麼它到底怎麼樣? 你可能會說,它非常棒,但是對於"我"來說它能做什麼?首先,基本的 :一個版本控制系統保持了對一系列文件所作改變的歷史記錄。對於一個開發者來說,那就意味著在你對一個程序所進行開發的整個期間,能夠跟蹤對其所作的所有改動的痕跡。對你來說,有沒有出現過由於在命令行上按錯鍵而導致一天的工作都白費的情況呢?版本控制系統給了你一個安全的網路。 版本控制系統對任何人都有用,真的。(畢竟,誰不願意使用一個安全的網路呢?)它們經常被軟體開發團隊使用。在團隊中工作的開發者需要能夠調整他們的各自的修改;一個集中式版本控制系統允許棗衫閉那樣做。 代碼集中的配置 個人開發者希望一個版本控制系統的安全網路能夠運行在他們的本地的一台機器上。然而,開發團隊需要一個集中的伺服器,所有的成員可以將伺服器作為倉庫來訪問他們的代碼。在一個辦公室中,沒有問題 --只是將倉庫連到本塌李地網路上的一台伺服器上就行了。對於開放源碼項目...噢, 還是沒有問題,這要感謝網際網路。CVS內建了客戶機/伺服器存取方法,所以任何一個可以連到網際網路上的開發 者都可以存取在一台CVS伺服器上的文件。 調整代碼 在傳統的版本控制系統中,一個開發者檢出一個文件,修改它,然後將其登記回去。檢出文件的開發者擁有對這個文件修改的排它權。沒有其它的開發者可以檢出這個文件 -- 並且只有檢出那個文件的開發者可以登記(check in:注2)所做的修改。(當然對於管理員有很多方法可以超越這個 限制。) 想一下排它的檢出可能會如何工作:Bob的兄弟檢出 foo.java以便加入注釋,寫好代碼後他什麼也沒做。然後他去吃午飯了。Bob吃完午飯後,發現他的老闆所指給他的一個bug在 foo.java里。他試圖檢出 foo.java ... 但是版本控制系統不允許他這樣做,因為他的兄弟已經把它檢出了。Bob不得不等著他的兄弟吃完午飯回來(在這個"好"日子用了兩個小時),他才可以修正bug。 在一個大型的開放源碼工程中,因為開發者可能在任意的時區工作得很晚,給予一個開發者阻止任意地方的其它開發者繼續處理任意文件的能力很明顯無法運轉。他們最終將因為不 能夠在他們想要的時候開展項目而感到厭煩。 CVS通過它的無限制的檢出模式解決了這個問題。檢出一個文件並不給定開發者對那個文件的排它權。其它的開發者也可以對其檢出,進行他們自己的修改,並且將其登記回去。 "等一下!"你可能會說。"但是後面的登記不是會覆蓋前面的嗎?"回答是不會。詳細地回答就是當多個開發者對同一個文件作了修改CVS會檢測,並且自動合並那些改變。 哇噢。自動的?不用擔心 -- CVS 會很小心,並且將會自動合並那些只要不是對代碼的同一行所作的改動。如果CVS不能安全的處理這些改動,開發者將不得不手工合並它們。 從此去往何處? 有大量的可用在許多平台上CVS 附加工具,它們給CVS增加了功能或使得CVS更容易使用。 cvs是Concurrent Versions System的縮寫,Concurrent有並發的,協作的,一致的等含義。CVS是一個版本控制系統,使用它,可以記錄下源文件的歷史 。 CVS維護的文件類型可以是文本類型也可以是二進制類型。CVS的基本工作思路是這樣的:在一台伺服器上建立一個源代碼庫,庫里可以存放許多不同項目的源程序。每個用戶在使用源代碼庫之前,首先要把源代碼庫里的項目文件下載到本地,然後用戶可以在本地任意修改,最後用CVS命令進行提交,由CVS源代碼庫統一管理修改。 使用CVS的好處: ·修改軟體時可能會不知不覺混進一些 bug,而且可能過了很久你才會察覺到它們的存在。有了 cvs,你可以很容易地恢復舊版本,並從中看出到底是哪個修改導致了這個 bug。有時這是很有用的。 ·cvs 用一種聰明的辦法把一個文件的所有版本保存在一個文件里,僅僅保存不同版本之間的差異 ·cvs 最初由 Dick Grune 在 1986 年 12 月以 shell 腳本的形式發布在 comp.sources.unix 的新聞組第 6 卷里;1989 年 4 月,Brian Berliner 設計了 cvs 並編寫了代碼。之後 Jeff Polk 幫助 Brian 設計了 cvs 模塊和銷售商分支支持。 ·cvs 不能指導你如何構造什麼。它只是將你所設計的一種樹結構文件保存下來以備恢復之用。 ·cvs 不能決定如何在一個檢出工作目錄使用磁碟空間。如果你在每一個目錄中都寫下 Makefile 或腳本,且必須知道其它一切的相對位置,有時不得不要檢出整個倉庫。 ·如果你將你的工作模塊化,並且建立了一個共享文件的 build 系統(通過links,mounts,Makefiles 里的 VPATH 等),你就可以隨意安排磁碟的使用。 ·你應該在 cvs 下放一個工具來支持這樣一個構造系統(腳本、Makefile 等等)。 ·有些變化發生在 cvs 范圍之外時,要想想什麼文件需要重建。一個傳統的方法是用 make 來構造,並用一些自動化的工具來產生 make 所用的相關文件。 cvs 不能替代管理 你的經理和項目負責人應經常與你交流以確保你時時記得進度表、合並點、分支名和發布日期。 如果他們不這樣做,cvs 也沒用。 cvs 只是一個用來使你的資源與你的步調一致的工具。但你是風笛手和作曲家。沒有哪種樂器會自己演奏或是作曲。 ·cvs 不能代替開發者之間的交流。 在單個文件內遇到沖突時,大多數開發者不費多大力氣就能解決它們。但更常見的"沖突(conflict)",是那些難度較大、不在開發者之間進行交流就沒法解決的問題。 當在一個文件內或多個文件中同時發生變化時,cvs 並不知道何時它們會在邏輯上發生沖突。它的沖突(conflict)概念是純粹文本意義上的,這種沖突會在同一個文件的兩種變化十分接近以致於會破壞合並命令(如 diff3)。 cvs 決不會指出程序邏輯上非文本或分布式的沖突。 例如:假如你改變了在文件 A 中定義的函數 X 的參數。同時,別人在編輯文件 B,仍用舊參數調用 X 這個函數。此時產生的沖突 cvs 可就無能為力了。 cvs 沒有變化控制 變化控制可以指許多事情。首先它的意思可以是 BUG 跟蹤bug-tracking,就是說它能維持一個資料庫,其中包括已報告的 BUG 和每一個 BUG 狀態 (是否已更正?在哪一個版本中?提交這個 BUG 的人是否認為已經更正?)。為了使 cvs 和一個外部的跟蹤 BUG 系統協調一致,請參考 rcsinfo 和 verifymsg 文件 (參閱 Administrative files)。 變化控制的另一個方面指跟蹤這樣的情況,即對好幾個文件的改變實際上只是同一個邏輯變動。如果你在一次 cvs commit 操作中檢入幾個文件,cvs 會忘掉它們是一起檢入的,它們共用一個 LOG 信息的事實只是把它們綁在一起而已。做一個 gnu 風格的 ChangeLog 可能會有點用。 在一些系統中,變化控制的另一個方面是跟蹤每個變化的狀態的能力。一些變化由一個開發者寫出,而另一些變化則由另一個開發者來作出評論,等等。一般來講,用 cvs 來做,是產生一個 diff(用 cvs diff 或 diff),並且用電子郵件寄給某人,此人就可以用 patch 來應用它。這是非常靈活的,但依賴於 cvs 之外的機制以保證事情不會崩潰。 cvs 不是自動測試程序 強制利用 commitinfo 文件測試套件應該是可能的。不過我沒有聽說過多少項目試圖那樣做或那裡有微妙的陷阱。 cvs 沒有內置的處理模型 有些系統提供一些方法確保變更或發布通過不同的步驟,以及各種所需的批准過程。一般地,你可以用 cvs 來完成它,但是可能要多做點工作。有些情況下你想用 commitinfo、loginfo、rcsinfo 或 verifymsg 文件,要求在 CVS 提交之前完成某些操作。你也會考慮諸如 branches 和 tags 等特性是否能用在一個開發樹中執行任務,然後僅當它們被證實就把某些修改合並到一棵穩定的樹中 CVS 還有一個更加重要的特性:能記下每個文件的每次修改,以及如何被修改...對於基於 Internet 的合作方式來說,這些特性太重要了。一個地域上分散的自願者組織顯然不可能投入很多的時間來訓練其成員彼此合作。因為這樣的話,當該組織有成員變更的時候,為此付出的投資將損失殆盡。所以需要指定一套基本的項目分配方案,以確保新成員能較容易的適應工作,同時也需要設置一個自動的系統來接受外來代碼,並使每個成員能及時得到最新修改的代碼。 CVS 中會經常提到的一些術語: Revision (修訂版本)--文件歷史記錄中的被開發者提交的變化。一個修訂版本就是一個時常變化的項目的 snapshot (瞬態圖)。 Repository (源代碼庫)--CVS 存儲所有修訂版本歷史記錄的地方。每個項目都有自己的一個確定的源代碼庫。 Working (工作拷貝)--開發者對文件作出修改時文件所在的拷貝。 Check out (檢驗)--從源代碼庫中申請一份工作拷貝。該工作拷貝反映的是取出時項目的瞬時狀態。當開發者對拷貝作出修改時,必須運用 commit (提交)和 update (更新) 命令來 「發布」變化和查看其他開發者所作的修改。 Commit (提交)--將工作拷貝中的變化輸入中央源代碼庫。 Log message (日誌信息)--提交修訂版本的時候,附帶描述變化的註解。通過查閱記錄信息,人們可以獲得一個當前項目進程的總結。 Update (更新)--從源代碼庫中取出別人的修改數據,將其輸入自己的工作拷貝,並顯示自己的工作拷貝是否有未提交的修改。注意,不要和 commit (提交)混淆,更新和提交是一對互補的指令。記住: Update 將使工作拷貝和源代碼庫拷貝保持同步更新。 Conflicts (沖突)--倆個開發者對同一個區域所作的變化都提交給主版本時出現的情況,在 CVS 覺察並指出這個沖突後,開發者必須解決該沖突。

Ⅸ 請問CVS是什麼啊

CVS是「Concurrent Version System」的簡稱,即是是一個C/S系統,常用的代碼版本控制軟體。

CVS是開發源代碼的配置管理工具,其源代碼和安裝文件都可以免費下載。CVS是源於unix的版本控制工具,對於CVS的安裝和使用最好對unix的系統有所了解能更容易學習。

CVS的伺服器管理需要進行各種命令行操作。目前,CVS的客戶端有winCVS的圖形化界面,伺服器端也有CVSNT的版本,易用性正在提高。但因為CVS是開發源碼軟體,沒有生產廠家為其提供技術的支持。如發現問題,通常只能靠自己查找網上的資料進行解決。

(9)程序員cvs比較擴展閱讀:

cvs替代管理

cvs 不能代替開發者之間的交流。在單個文件內遇到沖突時,大多數開發者不費多大力氣就能解決它們。但更常見的"沖突(conflict)",是那些難度較大、不在開發者之間進行交流就沒法解決的問題。

當在一個文件內或多個文件中同時發生變化時,cvs 並不知道何時它們會在邏輯上發生沖突。它的沖突(conflict)概念是純粹文本意義上的,這種沖突會在同一個文件的兩種變化十分接近以致於會破壞合並命令(如diff3)。

cvs 決不會指出程序邏輯上非文本或分布式的沖突。例如:假如你改變了在文件A 中定義的函數X 的參數。同時,別人在編輯文件B,仍用舊參數調用 X 這個函數。此時產生的沖突 cvs 可就無能為力了。

Ⅹ 為什麼還有那麼多人用SVN

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
svn伺服器有2種運行方式:獨立伺服器和藉助apache運行。兩種方式各有利弊,用戶可以自行選擇。
svn存儲版本數據也有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不需要資料庫的存儲系統)。因為BDB方式在伺服器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點。

所有的文檔都顯示SVN可以取代CVS,同時SVN的問題和缺點都被隱藏了。不幸的是,我們並不認為SVN是CVS的替代品,盡管很多缺陷都被修改了。更有甚者,它甚至讓人重回CVS。CVS和SVN的比較類似於比較C++和Java。很明顯CVS和SVN都遠比SourceSafe強大的多,如同C++和Java比Basic強大的多。CVS代表了幾乎代碼控制系統的所有功能項,盡管有時他的實現並不很方便。SVN修正並添加了一些CVS並不擁有的功能。例如,創建標志和分支bious,你在編輯文件時其他人不會有任何通知。SVN並不是CVS的替代品,只是個不同的系統,類似於CVS。它有些特有的功能,足以作為採用它的理由。這些功能使他更適合於開發環境,例如對PowerBuilder。下面你可以找到兩者的相對簡喚優勢、劣勢。
1 存儲類型格式
CVS是個基於RCS文件的版本控制系統。每個CVS文件都不過是普通的文件,加上一些額外信息。這些文件會簡單的重復本地文件的樹結構。因此,不必擔心有什麼數據損失,如果必要的話可以手工修改RCS文件。
SVN是基於關系資料庫的(BerkleyDB)或一系列二進制文件的(FS_FS)。一方面這解決了許多問題 (例如,並行讀寫共享文件)以及添加了許多新功能(例如運行時的事務特性。)。然而另一方面,數據存儲由此變得不透明。
2 速度
CVS比較慢。
整體而言,由於架構實現的不同, SVN的確比CVS快很多。在網路上它只傳輸很少的信息並支持更多的離線模式的功能。但這也是有代價的。速度攔沒的代價就是巨大的存儲(完全備份所有的工作文件)。
3 標志&分支
SVN採用標志和分支而拋棄了其他三件東西,實際上這意味著他們把這個概念替換為在檔案庫內部復制文件或目錄以便保存日誌。這樣一來,無論標志創建還是分支創建都只是倉庫內部的文件復制了。對分支而言:分支不過是在倉庫內部的一個單獨的目錄而已了,不像早期還有些什麼交錯。對標志而言:已經不能對代碼加標志了。在某種程度上說,SVN全文件編號補足了這個缺陷,SVN里整個倉庫都有版本號,但不是針對單個文件。
4 元數據
CVS只允許存儲文件。
SVN允許一個文件有任意多的可命名屬性,功能十分完全。
5 文件類型
CVS最初是為文本文件存儲而設計的。因此其他文件類型(二進制,統一碼)文件的支持幾乎沒有,如需要的話則要有其他信息,並且客戶端伺服器端都要調整。
SVN會關心所有的文件類型,不需要你來手工操作。
6回滾
CVS允許任意的回滾,在任意一個已遞交的版本上,盡管這要花些時間(所有的文件都要分別處理)。
SVN不允許遞交後回滾。建議把版本庫里好的狀態版本加到末尾,覆蓋掉損壞的版本。而損壞的版本無論如何也是會存在資料庫里的。(SVN的滾回操作實際上是merge操作)
7事務
CVS中的「零或一」事務原則根本沒有實現。如果檢入幾個文件的話(加到伺服器上),很有可能部分文件完成了,而另幾個沒有。作為一個潛規則,手工糾正這些並且對餘下的文件 (而不是所有文件)一一重復檢入。這樣這簡咐納些文件將在兩階段中被檢入。SVN的確支持「零或一」事務原則,這是SVN的一大優勢。

SVN站在更高層次上對安全產品,從系統和控制的角度進行了"有機"和"無隙"的整合。由於SVN沒有自己的遠程管理工具,只能上伺服器上用命令行操作,故操作起來比較復雜。為此,svn俱樂部開發出svn管家對svn進行遠程管理,svn管家推出了windows版本和linux版本,部署很方便,不用安裝額外的環境如mysql、PHP或JAVA。svn管家不僅可以方便的遠程修改用戶密碼,更可以對svn進行遠程管理,極大地方便了SVN的用戶。

所以雖然說SVN有缺點,但是對於使用者來說還是有繼續使用下去的價值的。它的優勢比它的缺點更耀眼,所以才會有那麼多人還使用SVN

閱讀全文

與程序員cvs比較相關的資料

熱點內容
鉸刀轉速進給的演算法 瀏覽:979
php二維數組取一列 瀏覽:377
安裝殺毒軟體出現壓縮或加密 瀏覽:975
方舟端游伺服器怎麼搜索房間 瀏覽:73
單片機學51好還是stm8好 瀏覽:798
手中的app如何隱藏 瀏覽:1001
安卓什麼壁紙軟體號 瀏覽:436
java設置內存大小 瀏覽:434
php循環匹配 瀏覽:325
技巧pdf 瀏覽:481
單片機斷程序怎麼解決 瀏覽:160
如何製作APP的圖片 瀏覽:507
php大小排序 瀏覽:550
linuxkerberos 瀏覽:127
暗黑破壞神3如何下載亞洲伺服器 瀏覽:954
linux中ftp伺服器地址怎麼看 瀏覽:438
ansys命令流do 瀏覽:122
單片機6502 瀏覽:765
自助洗車有什麼app 瀏覽:938
程序員離職率多少 瀏覽:324