Kể từ tháng 2 năm 2018, Hướng dẫn kiểu Java DSpace bên dưới được thi hành trên tất cả các Yêu cầu kéo tới nhánh "chính". Do đó, nếu Yêu cầu kéo tới nhánh "chính" không phù hợp với Hướng dẫn về kiểu dáng bên dưới, nó sẽ không thực hiện được quy trình xây dựng trong GitHub CI của chúng tôi - Thụt lề 4 khoảng trắng cho Java và thụt lề 2 khoảng trắng cho XML. KHÔNG CÓ TAB ĐƯỢC PHÉP
Yêu cầu niềng răng kiểu K&R. Niềng răng được yêu cầu trên tất cả các khối if (code) {
// code
} else {
// code
} Độ dài dòng tối đa là 120 ký tự (ngoại trừ URL dài, gói hoặc nội dung nhập) - Không cho phép khoảng trắng ở cuối (ngoại trừ trong nhận xét)
- Không sử dụng nhập ký tự đại diện (e. g.
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 0). Nhập khẩu trùng lặp hoặc không sử dụng không được phép - Viết Javadocs cho các phương thức và lớp công khai. Giữ nó ngắn gọn và đi thẳng vào vấn đề
- Các thẻ Javadoc
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 1 là tùy chọn, nhưng phải đề cập đến tên hoặc tên của một cá nhân (e. g. tên người dùng GitHub) khi được bao gồm
Mã thông báo nên được bao quanh bởi khoảng trắng, e. g. // This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } Mỗi dòng mã chỉ có thể bao gồm một câu lệnh. Điều này cũng có nghĩa là mỗi khai báo biến phải nằm trên một dòng riêng của nó, e. g // This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; Không có khối "bắt" trống nào trong thử/bắt. Khối "bắt" tối thiểu phải bao gồm nhận xét về lý do tại sao khối bắt trống, e. g. try {
// some code ..
} catch (Exception e) {
// ignore, this exception is not important
} Tất cả các câu lệnh "chuyển đổi" phải bao gồm mệnh đề "mặc định". Ngoài ra, mỗi mệnh đề trong một công tắc phải bao gồm "ngắt", "quay lại", "ném" hoặc "tiếp tục" (không cho phép rơi qua), e. g // This is NOT valid. Switch doesn't include a "default" and is missing a "break" in first "case"
switch (myVal) {
case "one":
// do something
case "two":
// do something else
break;
}
// This is valid. Switch has all necessary breaks and includes a "default" clause
switch (myVal) {
case "one":
// do something
break;
case "two":
// do something else
break;
default:
// do nothing
break;
} Bất kỳ lớp "tiện ích" nào (lớp tiện ích là lớp chỉ bao gồm các phương thức hoặc biến tĩnh) phải có giá trị không công khai (i. e. các hàm tạo riêng tư hoặc được bảo vệ), e. g // This is an example class of static constants
public class Constants {
public static final String DEFAULT_ENCODING = "UTF-8";
public static final String ANOTHER_CONSTANT = "Some value";
// As this is a utility class, it MUST have a constructor that is non-public.
private Constants() { }
} Mỗi tệp nguồn phải chứa tiêu đề giấy phép DSpace bắt buộc, e. g ________số 8_______
Tài nguyênHỗ trợ IDEHầu hết các IDE chính bao gồm các plugin hỗ trợ cấu hình Checkstyle. Plugin thường cho phép bạn nhập một "kiểu kiểm tra" hiện có. xml" để định cấu hình IDE của bạn sử dụng và/hoặc xác thực theo kiểu đó Ý TƯỞNG IntelliJ(Các hướng dẫn này dựa trên IntelliJ 2021. 2. 3. Chúng nên áp dụng cho các phiên bản gần đây khác, nhưng một số menu hoặc cài đặt có thể đã thay đổi. ) - Cài đặt plugin kiểu kiểm tra IntelliJ IDEA. https. //bổ sung. phản lực. com/plugin/1065-checkstyle-idea
- Tệp → Cài đặt → Plugin
- Khởi động lại IDE
- Định cấu hình để sử dụng tùy chỉnh của chúng tôi
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 2- Tệp → Cài đặt → Công cụ → Kiểu kiểm tra
- Trong các phiên bản cũ hơn của IntelliJ, menu này có thể nằm trong Tệp → Cài đặt → Cài đặt khác → Kiểu kiểm tra
Đảm bảo chọn phiên bản Kiểu kiểm tra tương thích với phiên bản chúng tôi sử dụng trong POM gốc của chúng tôi. Tìm phiên bản trong thẻ này trong POM đó
com.puppycrawl.tools
checkstyle
8.30
- Thêm "Tệp cấu hình" (nhấn phím
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 3 trong bảng). Chọn // This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 4 của chúng tôi - Làm cho nó "Hoạt động"
- Nhấp vào Áp dụng
- Cập nhật Kiểu mã của IDEA để tuân thủ Quy tắc kiểu kiểm tra (Xem thêm https. // stackoverflow. com/a/35273850/3750035)
- Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã
- Nhấp vào biểu tượng bánh răng nhỏ bên cạnh "Lược đồ", Chọn "Nhập lược đồ" → Cấu hình CheckStyle
- Chọn
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 4 của chúng tôi - Nhấp vào OK
- Nhấp vào Áp dụng
- Sau khi nhập cài đặt Kiểu kiểm tra, "Hồ sơ bản quyền" của bạn có thể được đặt lại (nếu bạn đã định cấu hình chúng trước đó). Nếu bạn muốn IntelliJ tự động thêm tuyên bố/giấy phép bản quyền ở đầu mỗi lớp Java, bạn nên đảm bảo điều này được (tái) định cấu hình
- Tệp → Cài đặt → Trình chỉnh sửa → Bản quyền
- Thêm hồ sơ Bản quyền. Nếu bạn muốn sử dụng tuyên bố bản quyền/giấy phép DSpace, văn bản của nó có sẵn trong tệp LICENSE_HEADER trong cơ sở mã (hoặc xem Hướng dẫn về kiểu mã ở trên)
- Chọn cấu hình từ danh sách và điều chỉnh định dạng (bỏ chọn tùy chọn "Thêm dòng trống sau")
- Theo tùy chọn, bạn cũng có thể muốn thay đổi một số cài đặt IntelliJ mặc định, để cho phép IDE tự động định dạng lại mã cho bạn (khi thực hiện chỉnh sửa hàng loạt). Điều này đặc biệt quan trọng nếu bạn định thực hiện bất kỳ mã hiện có nào bằng công cụ IntelliJ
nhật thựcCác hướng dẫn này đã được tạo bằng cách sử dụng Eclipse Neon. Ghi chú. Eclipse Che (Codenvy) dường như không hỗ trợ kiểu kiểm tra - Sử dụng plugin Kiểu kiểm tra Eclipse.
- Lưu ý rằng bạn có thể kéo plugin vào bản cài đặt Eclipse của mình
- Nhấp chuột phải vào dự án DSpace của bạn;
- Chuyển đến "Kiểu kiểm tra → Cấu hình kiểm tra cục bộ" và nhấp vào "Mới"
- Tạo một "Cấu hình tương đối của dự án"
- Tên. Nội bộ DSpace
- Vị trí. kiểu kiểm tra. xml
- Hộp "Lỗi thuộc tính chưa được giải quyết" sẽ xuất hiện;
- Thêm một thuộc tính mới
- Tên. kiểu kiểm tra. đàn áp. tập tin
- Giá trị. đường dẫn đầy đủ đến checkstyle-suppressions. xml
- Nhấp vào OK
- Chuyển đến "Kiểu kiểm tra → Chính"
- Chọn "DSpace Internal" từ trình đơn thả xuống
- Kiểm tra "Checkstyle hoạt động cho dự án này"
- Nhấp vào OK
- Mã sẽ được xây dựng lại
- Chỉnh sửa tệp java. Đặt một dấu ngoặc nhọn trên một dòng
- Dòng mã sẽ được đánh dấu bằng màu đỏ
Đã thử nghiệm và hoạt động để xác thực mã. Để định dạng, bạn phải tạo kiểu trình định dạng theo các bước tại đây. Dường như không thể buộc nhật thực sử dụng dấu ngoặc nhọn trên câu lệnh if một dòng (Vui lòng giúp chúng tôi cải thiện các hướng dẫn này để cung cấp cấu hình từng bước cho Eclipse) NetBeansCác hướng dẫn này đã hoạt động cho NetBeans 8. 2 - Tải xuống plugin Kiểu kiểm tra NetBeans. http. //bổ sung. hạt đậu. org/plugin/3413/checkstyle-bean
- Chuyển đến "Công cụ → Plugin → Đã tải xuống → Thêm plugin. "
- Thêm plugin đã tải xuống và cài đặt nó. Bạn sẽ phải khởi động lại NetBeans
- Chuyển đến "Công cụ → Tùy chọn → Khác → Kiểu kiểm tra"
Plugin vẫn hoạt động trong Apache NetBeans 12. 6. Nó có thể được lấy tại https. //www. cậu bé ốm yếu. cz/checkstyle/tải xuống. html. Các hướng dẫn ở trên vẫn hoạt động VSCodeCác hướng dẫn này dành cho VSCode phiên bản 1. 63. 2 - Mở bảng Tiện ích mở rộng. Tìm kiếm và cài đặt tiện ích mở rộng
// This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 6 của ShengChen. Thực hiện theo các tài liệu cấu hình cho plugin. Các bộ phận quan trọng là. đặt tệp cấu hình, bằng cách nhấp chuột phải vào tệp _______1_______4 và chọn // This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 8. Bạn sẽ cần sử dụng lệnh // This is NOT valid. Whitespace around tokens is missing
String []={"one","two","three"}
// This is valid. Whitespace exists around all tokens
String [] = { "one", "two", "three" } 9 (Trợ giúp>Hiển thị tất cả các lệnh hoặc nhấn F1 trên bàn phím của bạn) để đặt phiên bản Kiểu kiểm tra thành // This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; 0 theo cách thủ công. Tiện ích mở rộng sẽ tự động tải xuống tệp jar kiểu kiểm tra cần thiết nếu cần. Các phiên bản khác của Checkstyle jar được biết là không hoạt động (8. 18 và 9. 2. 1 kể từ khi viết bài này, tất cả các lỗi hiện đang ném). Các DSpace pom. xml, chúng ta nên sử dụng phiên bản đó trong VSCode - Bạn sẽ cần khởi động lại VSCode sau khi thêm phần mở rộng Checkstyle cho Java
- Bạn sẽ muốn sửa đổi cài đặt cho Java → Hoàn thành. Đơn đặt hàng nhập khẩu (trong tệp
// This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; 1 cho VScode). thêm phần này vào tệp // This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; 1 của bạn. // This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; 3 - Bất cứ khi nào bạn chọn một tùy chọn để "sắp xếp nhập", VSCode sẽ thêm không chính xác một dòng trống vào khối nhập của bạn, trong đó cấu hình kiểu kiểm tra của chúng tôi cho biết không nên. Plugin kiểu kiểm tra sẽ cảnh báo bạn về sự thật này và bạn có thể xóa nó theo cách thủ công. Thật không may, VSCode hiện không hỗ trợ chỉ định chính xác thứ tự nhập khẩu trong java. hoàn thành. importOrder mà chúng tôi yêu cầu. Nhưng điều này là đủ gần
Kiểm tra kiểu mã từ dòng lệnhNếu bạn không sử dụng một trong các IDE trên để viết mã, bạn luôn có thể xác minh mã của mình từ dòng lệnh bằng lệnh Maven sau. Lệnh này có thể được chạy từ thư mục nguồn gốc ([dspace-source]) để kiểm tra tất cả mã nguồn hoặc từ bên trong một mô-đun riêng lẻ (e. g. [dspace-source]/dspace-api/) để chỉ kiểm tra mô-đun đó # If the below checkstyle:check command complains about missing SNAPSHOT dependencies, then you may need to first run:
# mvn install
# This checks the code style of all source code under the current directory
# It also ensures all source code has the required license header.
mvn -U checkstyle:check license:check Sửa mã / PR hiện cóSử dụng IntelliJ để thực hiện dọn dẹp hàng loạt- Trước tiên, bạn PHẢI tuân theo tất cả các cấu hình trong phần trên. Đặc biệt chú ý đến các cài đặt được đánh dấu là tùy chọn, trừ khi bạn đang thực hiện chỉnh sửa hàng loạt. Vì bạn muốn thực hiện chỉnh sửa hàng loạt, các cài đặt đó hiện được yêu cầu
- Bây giờ hãy mở bất kỳ tệp nguồn Java nào. Bạn sẽ thấy các cảnh báo Kiểu kiểm tra xuất hiện (nếu có) bằng màu ĐỎ
- Đánh dấu này được bật thông qua plugin kiểu kiểm tra
- Định dạng lại hàng loạt (toàn bộ mô-đun). Bạn cũng có thể định dạng lại mã hàng loạt trong IDEA.
- Nhấp chuột phải vào một thư mục/mô-đun
- Chọn "Mã định dạng lại"
- Chọn "Tối ưu hóa quá trình nhập" (Thao tác này sẽ xóa mọi câu lệnh nhập có dấu hoa thị)
- Bỏ chọn "Sắp xếp lại các mục" (Điều này sẽ sắp xếp lại các phương thức/biến dựa trên cài đặt sắp xếp trong IDEA. Chúng tôi không cần cái này)
- Trong phần "Bộ lọc" → Chọn "Mặt nạ tệp" và nhập "
// This is NOT valid. Three variables are declared on one line
String first = "", second = "", third = "";
// This is valid. Each statement is on its own line
String first = "";
String second = "";
String third = ""; 4" (Vì chúng tôi sẽ chỉ định dạng lại hàng loạt tệp Java và XML) - Nhấp vào Chạy
Cuối cùng, chạy Checkstyle đối với mô-đun. Có khả năng vẫn còn một số lỗi cần khắc phục thủ công # mvn install (Only necessary if checkstyle:check below complains about missing SNAPSHOT dependencies)
mvn -U checkstyle:check Ngoài ra, hãy kiểm tra kỹ các tiêu đề giấy phép vẫn chính xác. Đôi khi những thứ này bị "nhập" trong quá trình định dạng lại hàng loạt (vì IDEA thỉnh thoảng cố gắng hợp nhất các nhận xét gần đó thành một nhận xét lớn hơn)
Hướng dẫn Phong cách Java DSpace cũ (dành cho phiên bản 6. x trở về trước)Theo trang Nguyên tắc đóng góp mã (xem phần "Quy ước viết mã"), hướng dẫn về phong cách hiện có của chúng tôi được liệt kê như sau Mã của bạn cần tuân theo các quy ước về mã Sun Java với các sửa đổi nhỏ sau đây - dấu ngoặc nhọn phải trên dòng mới
- Các tệp nguồn phải có bản sao thông báo Duraspace về bản quyền và giấy phép BSD ở trên cùng (xem bên dưới). Cũng hãy nhìn vào
- Bạn phải sử dụng bảng 4 dấu cách
- 'else' phải ở trên một dòng mới. 'else if' nằm trên một dòng
- Người dùng IDE Eclipse có thể yêu cầu nhật thực thực hiện định dạng tự động bằng cách sử dụng cấu hình này. - Dspace-eclipse-format. xml. Xem phần Eclipse bên dưới để biết chi tiết về cách áp dụng hồ sơ này
Mã của bạn phải được nhận xét tốt bằng Javadoc (bao gồm tổng quan về gói và lớp). Tất cả các đóng góp mã phải đi kèm với Tài liệu. Ở mức tối thiểu, điều này phải bao gồm Tài liệu kỹ thuật bao gồm tất cả các tùy chọn cấu hình và/hoặc thiết lập. Xem dưới đây để biết thêm chi tiết
Các nguyên tắc kiểu cũ này chủ yếu dựa trên các quy ước mã hóa của Mặt trời (khoảng năm 1999) không còn được duy trì nhưng vẫn có tại http. //www. tiên tri. com/technetwork/java/javase/tài liệu/codeconvtoc-136057. html Vì hướng dẫn phong cách Java của Sun không còn được duy trì, nên nó sẽ không theo kịp các tính năng, thực tiễn tốt nhất của phong cách Java hiện tại, v.v. Năm 2018, chúng tôi quyết định cập nhật hướng dẫn của mình dựa trên / lấy cảm hứng từ hai hướng dẫn này Hướng dẫn kiểu góc/bản ghi DSpace (dành cho DSpace 7. x trở lên)DSpace TypeScript Style Guide được thực thi trên nhánh "chính" DSpace Typescript Style Guide được thực thi trên tất cả các Yêu cầu kéo tới nhánh "chính". Do đó, nếu Yêu cầu kéo tới nhánh "chính" không phù hợp với Hướng dẫn về kiểu dáng bên dưới, nó sẽ không thực hiện được quy trình xây dựng trong GitHub CI của chúng tôi Đối với Giao diện người dùng góc DSpace (được viết bằng TypeScript), chúng tôi sử dụng TSLint để xác thực kiểu của tất cả TypeScript (*. tập tin ts)
Làm cách nào để áp dụng kiểu mã trong PHPStorm?
Áp dụng kiểu mã được xác định trước
. Kiểu mã Press Ctrl+Alt+S to open the IDE settings and select Editor | Code Style . Để định cấu hình sơ đồ cho các dự án mới, hãy chuyển đến Tệp. Thiết lập dự án mới. Cài đặt cho Dự án mới. biên tập viên. Kiểu mã. Chọn ngôn ngữ mà bạn muốn định cấu hình kiểu mã.
Làm cách nào để nhập XML kiểu mã hóa trong IntelliJ?
Nhập lược đồ
. Nhấn Ctrl+Alt+S để mở cài đặt IDE và chọn Trình chỉnh sửa. Kiểu mã. và chọn Lược đồ nhập. Sau đó chọn định dạng cần thiết.
Làm cách nào để tạo tệp XML trong PHPStorm?
Nhấn Alt+Enter. Nếu có nhiều lựa chọn, hãy chọn không gian tên mong muốn từ danh sách Ngoài ra, hãy di con trỏ chuột qua sự cố và nhấp vào Tạo khai báo không gian tên trong cửa sổ bật lên mở ra. Nếu có nhiều lựa chọn, hãy chọn không gian tên mong muốn từ danh sách
Làm cách nào để làm đẹp XML trong IntelliJ?
Hoặc mở tệp của bạn trong trình chỉnh sửa và nhấn Ctrl+Alt+Shift+L hoặc trong cửa sổ Công cụ dự án, nhấp chuột phải vào tệp và chọn Mã định dạng lại. |