盡量使用完整的英文描述符,采用適用于相關(guān)領(lǐng)域的術(shù)語,采用大小寫混合使名字可讀。
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)市中免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
JAVA代碼規(guī)范:
(1)類名首字母應(yīng)該大寫。字段、方法以及對象(句柄)的首字母應(yīng)小寫。對于所有標(biāo)識符,其中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。例如:
ThisIsAClassName
thisIsMethodOrFieldName
若在定義中出現(xiàn)了常數(shù)初始化字符,則大寫static final基本類型標(biāo)識符中的所有字母。這樣便可標(biāo)志出它們屬于編譯期的常數(shù)。Java包(Package)屬于一種特殊情況:它們?nèi)际切懽帜?,即便中間的單詞亦是如此。對于域名擴(kuò)展名稱,如com,org,net或者edu等,全部都應(yīng)小寫(這也是Java1.1和Java1.2的區(qū)別之一)。
(2)為了常規(guī)用途而創(chuàng)建一個(gè)類時(shí),請采取"經(jīng)典形式",并包含對下述元素的定義:equals()
hashCode()
toString()
clone()(implement Cloneable)
implement Serializable
(3)對于自己創(chuàng)建的每一個(gè)類,都考慮置入一個(gè)main(),其中包含了用于測試那個(gè)類的代碼。為使用一個(gè)項(xiàng)目中的類,我們沒必要?jiǎng)h除測試代碼。若進(jìn)行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個(gè)示例使用。
(4)應(yīng)將方法設(shè)計(jì)成簡要的、功能性單元,用它描述和實(shí)現(xiàn)一個(gè)不連續(xù)的類接口部分。理想情況下,方法應(yīng)簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個(gè)方法。這樣做也便于類內(nèi)代碼的重復(fù)使用(有些時(shí)候,方法必須非常大,但它們?nèi)詰?yīng)只做同樣的一件事情)。
(5)設(shè)計(jì)一個(gè)類時(shí),請?jiān)O(shè)身處地為客戶程序員考慮一下(類的使用方法應(yīng)該是非常明確的)。然后,再設(shè)身處地為管理代碼的人考慮一下(預(yù)計(jì)有可能進(jìn)行哪些形式的修改,想想用什么方法可把它們變得更簡單)。
(6)使類盡可能短小精悍,而且只解決一個(gè)特定的問題。下面是對類設(shè)計(jì)的一些建議:
一個(gè)復(fù)雜的開關(guān)語句:考慮采用"多形"機(jī)制
數(shù)量眾多的方法涉及到類型差別極大的操作:考慮用幾個(gè)類來分別實(shí)現(xiàn)
許多成員變量在特征上有很大的差別:考慮使用幾個(gè)類
(7)讓一切東西都盡可能地"私有"-private。可使庫的某一部分"公共化"(一個(gè)方法、類或者一個(gè)字段等等),就永遠(yuǎn)不能把它拿出。若強(qiáng)行拿出,就可能破壞其他人現(xiàn)有的代碼,使他們不得不重新編寫和設(shè)計(jì)。若只公布自己必須公布的,就可放心大膽地改變其他任何東西。在多線程環(huán)境中,隱私是特別重要的一個(gè)因素-只有private字段才能在非同步使用的情況下受到保護(hù)。
(8)謹(jǐn)惕"巨大對象綜合癥。對一些習(xí)慣于順序編程思維、且初涉OOP領(lǐng)域的新手,往往喜歡先寫一個(gè)順序執(zhí)行的程序,再把它嵌入一個(gè)或兩個(gè)巨大的對象里。根據(jù)編程原理,對象表達(dá)的應(yīng)該是應(yīng)用程序的概念。
對于每個(gè)程序員來說,養(yǎng)成良好的代碼編寫方法是非常關(guān)鍵的。
在編寫代碼的過程中,每個(gè)人的方法是不同的,那么應(yīng)該如何規(guī)范自己代碼編寫的方法呢?規(guī)范編寫代碼有哪些要求呢?下面電腦培訓(xùn)帶大家認(rèn)識代碼編寫的方法。
一、保證代碼壓縮后不會出錯(cuò)對于大的JavaScript項(xiàng)目,一般來說,包含在項(xiàng)目中的所有JavaScript文件在產(chǎn)品公開時(shí)都會被壓縮。
為了正確壓縮代碼,通常需要考慮壓縮工具的必要條件,如句子用分號正常結(jié)束,中括號結(jié)束等。
因此,IT培訓(xùn)發(fā)現(xiàn)當(dāng)編寫代碼沒有按照標(biāo)準(zhǔn)進(jìn)行時(shí),在發(fā)生壓縮錯(cuò)誤后再次尋找錯(cuò)誤是浪費(fèi)時(shí)間的。
二、保證代碼能夠通過自動格式化功能一般情況下需要使用完善的開發(fā)工具進(jìn)行自動化格式功能,這個(gè)功能能夠進(jìn)行換行、縮進(jìn)和空格等方法的代碼編排,并且還可以設(shè)置自己喜歡的格式。
別人在閱讀你的代碼時(shí)需要使用IDE進(jìn)行格式轉(zhuǎn)換,以滿足個(gè)人的閱讀風(fēng)格。
北京北大青鳥認(rèn)為閱讀代碼能夠更加深入的了解代碼調(diào)用和細(xì)節(jié)的實(shí)現(xiàn),這是簡單的文檔不能實(shí)現(xiàn)的。
三、使用標(biāo)準(zhǔn)的文檔注釋這是編寫代碼中最基本的要求,能夠很好的了解代碼的提示,并且還可以利用配套的文檔工具生產(chǎn)其他格式讓別人閱讀。
北大青鳥認(rèn)為編寫完整的注釋還可以使團(tuán)隊(duì)成員更容易閱讀您的代碼。
通過您的參數(shù)描述,團(tuán)隊(duì)成員很容易了解您想要傳遞參與實(shí)現(xiàn)細(xì)節(jié)和編寫的方法。
JAVA開源與否與JAVA本身無關(guān),開源不是開放編譯器的源代碼,而是寫了一個(gè)軟件, 然后把這個(gè)軟件的源代碼發(fā)布到網(wǎng)上, 讓大家都可以學(xué)習(xí),改進(jìn),就是開源。要符合一定的規(guī)范,比如GPL 等。
Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,擁有全球最大的開發(fā)者專業(yè)社群。
Java是由Sun Microsystems公司推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語言(以下簡稱Java語言)和Java平臺的總稱。Java由James Gosling和同事們共同研發(fā),并在1995年正式推出。
擴(kuò)展資料
Java語言特點(diǎn)
1、簡單性
Java看起來設(shè)計(jì)得很像C++,但是為了使語言小和容易熟悉,設(shè)計(jì)者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。
例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實(shí)現(xiàn)自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時(shí)間和精力花在研發(fā)上。
2、面向?qū)ο?/p>
Java是一個(gè)面向?qū)ο蟮恼Z言。對程序員來說,這意味著要注意應(yīng)中的數(shù)據(jù)和操縱數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過程來思考。在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對象(object)的狀態(tài)和行為。
每一對象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個(gè)類層次體系中有一個(gè)根類,它是具有一般行為的類。Java程序是用類來組織的。
Java還包括一個(gè)類的擴(kuò)展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。
3、分布性
Java設(shè)計(jì)成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語言。Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類支持可靠的流(stream)網(wǎng)絡(luò)連接,所以用戶可以產(chǎn)生分布式的客戶機(jī)和服務(wù)器。
網(wǎng)絡(luò)變成軟件應(yīng)用的分布運(yùn)載工具。Java程序只要編寫一次,就可到處運(yùn)行。
參考資料來源:百度百科——Java
參考資料來源:百度百科-java開源
Quartz 【Java開源 Job調(diào)度】
Quartz是OpenSymphony開源組織在Job scheduling領(lǐng)域又一個(gè)開源項(xiàng)目,它可以與J2EE與J2SE應(yīng)用程序相結(jié)合也可以單獨(dú)使用。Quartz可以用來創(chuàng)建簡單或?yàn)檫\(yùn)行十個(gè),百個(gè),甚至是好幾萬個(gè)Jobs這樣復(fù)雜的日程序表。Jobs可以做成標(biāo)準(zhǔn)的Java組件或 EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity 【Java開源 模板引擎】
Velocity是一個(gè)基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。 當(dāng)Velocity應(yīng)用于web開發(fā)時(shí),界面設(shè)計(jì)人員可以和java程序開發(fā)人員同步開發(fā)一個(gè)遵循MVC架構(gòu)的web站點(diǎn),也就是說,頁面設(shè)計(jì)人員可以只關(guān)注頁面的顯示效果,而由java程序開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點(diǎn)的長期維護(hù)提供了便利,同時(shí)也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠(yuǎn)不止web站點(diǎn)開發(fā)這個(gè)領(lǐng)域,例如,它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個(gè)獨(dú)立工具來產(chǎn)生源代碼和報(bào)告,或者作為其他系統(tǒng)的集成組件使用。Velocity也可以為Turbine web開發(fā)架構(gòu)提供模板服務(wù)(template service)。Velocity+Turbine提供一個(gè)模板服務(wù)的方式允許一個(gè)web應(yīng)用以一個(gè)真正的MVC模型進(jìn)行開發(fā)。 【VeloEclipse :Velocity在Eclipse平臺下的一個(gè)輔助開發(fā)插件】
Roller Weblogger 【Java開源 Blog博客】
這個(gè)weblogging 設(shè)計(jì)得比較精巧,源代碼是很好的學(xué)習(xí)資料。它支持weblogging應(yīng)有的特性如:評論功能,所見即所得HTML編輯,TrackBack,提供頁面模板,RSS syndication,blogroll管理和提供一個(gè)XML-RPC 接口。
XPlanner 【Java開源 項(xiàng)目管理】
XPlanner 一個(gè)基于Web的XP團(tuán)隊(duì)計(jì)劃和跟蹤工具。XP獨(dú)特的開發(fā)概念如iteration、user stories等,XPlanner都提供了相對應(yīng)的的管理工具,XPlanner支持XP開發(fā)流程,并解決利用XP思想來開發(fā)項(xiàng)目所碰到的問題。XPlanner特點(diǎn)包括:簡單的模型規(guī)劃,虛擬筆記卡(Virtual note cards),iterations、user stories與工作記錄的追蹤,未完成stories將自動迭代,工作時(shí)間追蹤,生成團(tuán)隊(duì)效率,個(gè)人工時(shí)報(bào)表,SOAP界面支持。
JOnAS 【Java開源 J2EE服務(wù)器】
JOnAS是一個(gè)開放源代碼的J2EE實(shí)現(xiàn),在ObjectWeb協(xié)會中開發(fā)。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規(guī)范。JOnAS服務(wù)器依賴或?qū)崿F(xiàn)以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
FreeMarker 【Java開源 模板引擎】
FreeMarker允許Java servlet保持圖形設(shè)計(jì)同應(yīng)用程序邏輯的分離,這是通過在模板中密封HTML完成的。模板用servlet提供的數(shù)據(jù)動態(tài)地生成 HTML。模板語言是強(qiáng)大的直觀的,編譯器速度快,輸出接近靜態(tài)HTML頁面的速度。
【FreeMarker Eclipse Plugin與FreeMarker IDE:Eclipse平臺下的輔助開發(fā)工具】
Lucene 【Java開源 全文檢索】
Apache Lucene是一個(gè)開放源程序的搜尋器引擎,利用它可以輕易地為Java軟件加入全文搜尋功能。Lucene的最主要工作是替文件的每一個(gè)字作索引,索引讓搜尋的效率比傳統(tǒng)的逐字比較大大提高,Lucen提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強(qiáng)大之處除了高效和簡單外,是最重要的是使使用者可以隨時(shí)應(yīng)自己需要自訂其功能。
Beanshell 【Java開源 動態(tài)語言】
Beanshell是用Java寫成的,一個(gè)小型的、免費(fèi)的、可以下載的、嵌入式的Java源代碼解釋器,具有對象腳本語言特性。BeanShell執(zhí)行標(biāo)準(zhǔn)Java語句和表達(dá)式,另外包括一些腳本命令和語法。它將腳本化對象看作簡單閉包方法(simple method closure)來支持,就如同在Perl和JavaScript中的一樣?!∷哂幸韵碌囊恍┨攸c(diǎn):使用Java反射API以提供Java語句和表達(dá)式的實(shí)時(shí)解釋執(zhí)行;可以透明地訪問任何Java對象和API;可以在命令行模式、控制臺模式、小程序模式和遠(yuǎn)程線程服務(wù)器模式等四種模式下面運(yùn)行;與在應(yīng)用程序中一樣,可以在小程序中(Applet)正常運(yùn)行(無需編譯器或者類裝載器);非常精簡的解釋器jar文件大小為175k
Big Two 【Java開源 Java游戲】
采用Java開發(fā)的中國式紙牌升級游戲。源碼下載
JBoss SSO Framework 【Java開源 身份認(rèn)證管理】
JBoss SSO Framework是一個(gè)組件集能夠很容易集成到現(xiàn)有的web應(yīng)用中提供單一登錄功能.該框架已經(jīng)能夠支持一些重要的SSO標(biāo)準(zhǔn)如SAML。整個(gè)系統(tǒng)包括以下組件:
1.聯(lián)合服務(wù)器(Federation Server)– 一個(gè)聯(lián)合服務(wù)器用于為放置在不同安全域(security domain)中的web應(yīng)用程序安全地傳播Federation Token。
2.Token編排框架(Token Marshalling Framework)– 這是一組靈活的/可插件的Java API用來marshal/unmarshal一個(gè)Federation Token。該系統(tǒng)默認(rèn)提供一個(gè)SAML兼容的編排器(Marshaller) 。
3.身份管管理框架(Identity Management Framework)–這是一組靈活的/可插件的Java API用來連接中中央身份存儲庫(Identity Store)。該系統(tǒng)默認(rèn)提供一個(gè)Provider來連接基于LDAP的身份存儲庫。
JawFlow 【Java開源 開源工作流】
JawFlow是一個(gè)部分遵循WfMC規(guī)范,采用JMX技術(shù)開發(fā)的工作流引擎。它能夠解析XPDL,并能夠用Java或BSF支持的腳本語言來自定義行為。
rails-asyncweb 【Java開源 Web服務(wù)器】
用于JRuby on Rails的一個(gè)快速Http服務(wù)器。
jBatchEngine 【Java開源 Job調(diào)度】
jBatchEngine是一個(gè)采用Java開發(fā)的批任務(wù)spooler。jBatchEngine與其它以時(shí)間為驅(qū)動的Job調(diào)度引擎不同之處在于它是以事件以驅(qū)動,可用于啟動任何批處理程序。jBatchEngine可以安裝成一個(gè)Windows Service或一個(gè)Unix Daemon。
Gant 【Java開源 項(xiàng)目構(gòu)建】
Gant是一個(gè)基于Ant的構(gòu)建工具,它采用Groovy腳本代替XML來編寫構(gòu)建邏輯。 Gant完全依賴于Ant task來做真正的事情,所以你如果用Ant實(shí)現(xiàn)構(gòu)建,但不喜歡用XML構(gòu)建文件,Gant是一個(gè)不錯(cuò)的選擇。
Jaxmao 【Java開源 Web服務(wù)器】
Tomcat是開源的JSP/Servlet服務(wù)器。多年的開發(fā)使Tomcat已越來越完善,被越來越多的網(wǎng)站采用。Jaxmao(中文版Tomcat)項(xiàng)目的任務(wù)是為Tomcat提供一個(gè)友好的中文界面,推廣Tomcat在中文JSP/Serlet 開發(fā)者中的使用。
Metanotion BlockFile 【Java開源 DBMS數(shù)據(jù)庫】
BlockFile一個(gè)100%純Java,輕量級,單個(gè)文件嵌入式數(shù)據(jù)庫。它的功能介于SQLite與BerkeleyDB之間。專門為PDA和Mobile應(yīng)用程序而開發(fā)。
JRuleEngine 【Java開源 規(guī)則引擎】
JRuleEngine基于JSR94規(guī)范的java規(guī)則引擎。
JBasic 【Java開源 動態(tài)語言】
JBasic是一個(gè)完全采用Java開發(fā)的BASIC語言解釋器。JBasic可運(yùn)行在大部分Unix系統(tǒng)(包括Mac OS X),Windows command shell,或VMS DCL command line。
jSoapServer 【Java開源 Web Service】
jSoapServer這個(gè)Java類包可以集成到Java應(yīng)用程序中為外部程序提供一個(gè)SOAP接口。jSoapServer是一個(gè)獨(dú)立的SOAP服務(wù)器,因此不需要讓Java程序運(yùn)行在像Tomcat這樣的容器中。
Artistic Style 【Java開源 代碼優(yōu)化】
Artistic Style是一個(gè)C,C++,C#和Java源代碼縮排/格式化/美化工具。
JLoom 【Java開源 模板引擎】
JLoom是一個(gè)采用類似于JSP語法的模板引擎。參數(shù)可以是任何Java類型,甚至是泛型(generic)。JLoom還提供一個(gè)Eclipse插件來輔助開發(fā)。
Liquid lookfeel 【Java開源 Swing外觀】
基于Mosfet Liquid KDE 3.x主題的Swing外觀。
MicroNova YUZU 【Java開源 JSP標(biāo)簽】
MicroNova YUZU開源基于EL的JSP標(biāo)簽庫。這是一個(gè)增強(qiáng)的JSTL(兼容JSP1.2與JSP 2.0)。