開發原則之約定大於配置


開發過程中處處用到了”約定大於配置“的原則,甚至團隊開發規范、開發編譯環境等等也是要大家約定來執行的。以Java構建為例,從ant到maven再到gradle都是更好更方面的實現了”約定大於配置“的思想。
在ant和bat時代,經常要為每個項目寫或修改腳本,即便項目主要目錄結構也要在代碼里體現。
到maven時代,通過約定簡化了很多東西:pom.xml所在的目錄應為項目的根目錄,假設該目錄為${proj-dir},那么Maven有以下假設:
  • ${proj-dir}/src/main/java —— 存放項目的.java文件。
  • ${proj-dir}/src/main/resources —— 存放項目資源文件,如spring, hibernate配置文件。
  • ${proj-dir}/src/test/jave —— 存放所有測試.java文件,如JUnit測試類。
  • ${proj-dir}/src/test/resources —— 測試資源文件。
  • ${proj-dir}/target —— 項目輸出位置。

運行一條mvn clean package命令,Maven會幫你清除target目錄,重新建一個空的,編譯src/main/java類至target/classes,復制src/main/resources的文件至target/classes,編譯src/test/java至target/test-classes,復制src/test/resources的文件至target/test-classes;然后運行所有測試;測試通過后,使用jar命令打包,存儲於target目錄。Maven做的事情一點也不少,只是都對用戶隱蔽起來了,它只要求你遵循它的約定。

到現在逐漸流行的gradle,更簡化了maven相關的配置。比如引入hibernate依賴

采用 Maven

<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.3.6.Final</version></dependency>

采用 Gradle 只需一行

org.hibernate:hibernate-core:4.3.6.Final






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM