Quy ước đặt tên biến, hàm, class, package trong Java

Quy ước đặt tên là một bộ quy tắc phải tuân theo khi định đặt tên cho bất kỳ định danh nào trong ngôn ngữ Java (ví dụ: class, package, variable, method, v.v.).

Tại sao phải sử dụng Quy ước đặt tên?

 Hãy tưởng tượng, tất cả các thành viên trong team viết code Java, mỗi người có một phong cách viết code khác nhau. Do đó, nếu không có một quy chuẩn đặt tên chung, mỗi người đặt một kiểu thì mã nguồn sẽ trở nên xấu xí, khó bảo trì.

Bằng cách sử dụng các quy ước đặt tên Java tiêu chuẩn, bạn sẽ làm cho chương trình Java của bạn dễ đọc hơn cho chính bạn và cho cả các lập trình viên khác.

Khả năng đọc của code Java rất QUAN TRỌNG vì điều đó có nghĩa là bạn / ai đó sẽ mất ít thời gian hơn để cố gắng tìm ra đoạn code đó làm gì… Từ đó, bạn nhanh chóng hiểu chương trình gặp vấn đề ở đâu và sửa nó nhanh hơn.

Điểm đáng nói là hầu hết các công ty phần mềm sẽ có một tài liệu các quy ước đặt tên mà họ muốn các lập trình viên của họ tuân theo.

Một lập trình viên mới vào công ty sau khi hiểu quy ước đặt tên thì sẽ nhanh chóng hòa nhập vào công việc.

Điều này còn thực sự giúp ích khi có ai đó nghỉ việc. Phần việc còn lại của họ sẽ phải có người tiếp nhận, và nếu tuân thủ quy tắc đặt tên thì việc này sẽ dễ dàng hơn rất nhiều

Một số chuẩn HOA – thường trong cách đặt tên

Sử dụng chữ cái Viết Hoa đúng là chìa khóa để tuân theo quy ước đặt tên:

  • Lowercase: Là tên mà tất cả các chữ cái trong một từ được viết mà không Viết Hoa (ví dụ: while, if, mypackage).
  • Uppercase: Là tên trong đó tất cả các chữ cái trong một từ được viết bằng chữ HOA. Khi có nhiều hơn hai từ trong tên, hãy sử dụng dấu gạch dưới để phân tách chúng (ví dụ: MAX_HOURS, FIRST_DAY_OF_WEEK).
  • CamelCase: (còn được gọi là Upper CamelCase) là tên mà mỗi từ mới bắt đầu bằng chữ in hoa (ví dụ: CamelCase, CustomerAccount, PlayingCard).
  • Mixed case: (còn được gọi là Lower CamelCase) giống như CamelCase ngoại trừ chữ cái đầu tiên của tên được viết bằng chữ thường (ví dụ: hasChildren, customerFirstName, customerLastName).

Quy ước đặt tên Java tiêu chuẩn

Danh sách dưới đây cho bạn thấy các Quy ước đặt tên Java tiêu chuẩn cho từng loại định danh:

Quy ước đặt tên Packages

Tên packages nên được viết thường. Với các dự án nhỏ chỉ có một vài package, bạn chỉ cần đặt cho chúng những cái tên đơn giản (nhưng có ý nghĩa!)

package pokeranalyzer package mycalculator 

Nhưng trong các công ty phần mềm và các dự án lớn nơi các package có thể được nhập vào các package khác, các tên thường sẽ được chia nhỏ.

Thông thường, điều này sẽ bắt đầu với domain công ty trước khi được chia thành các lớp hoặc tính năng:

 package com.mycompany.utilities package org.bobscompany.application.userinterface 

Quy ước đặt tên Class

Tên class trong Java phải áp dụng CamelCase. Cố gắng sử dụng danh từ vì một class thường đại diện cho một cái gì đó trong thế giới thực:

 class Customer class Account 

Quy ước đặt tên Interfaces

Tên Interfaces trong Java phải có áp dụng CamelCase. Chúng có xu hướng có một tên có thể mô tả một hoạt động mà một class có thể làm:

 interface Comparable interface Enumerable 
Lưu ý rằng một số lập trình viên thường muốn phân biệt các Interfaces bằng cách bắt đầu tên bằng 'I':
interface IComparable interface IEnumerable 

Quy ước đặt tên Phương thức (Method)

Tên Method trong Java nên được áp dụng quy tắc Mixed case. Và nên sử dụng các động từ để mô tả những gì phương thức sẽ làm:

 void calculateTax() string getSurname() 

Quy tắc đặt tên biến (Variables) 

Tên biến trong Java nên tuân theo quy tắc Mixed case. Các tên biến sẽ đại diện cho những gì giá trị của biến đại diện:

 string firstName int orderNumber 


Chỉ sử dụng tên biến ngắn khi các biến tồn tại ngắn, chẳng hạn như trong vòng lặp for:

 for (int i=0; i<20;i++) {   //i only lives in here } 

Quy ước đặt tên biến cho Hằng số (Constant)

Tên hằng số tiêu chuẩn trong Java nên được Viết Hoa (quy tắc uppercase):

static final int DEFAULT_WIDTH static final int MAX_HEIGHT
3.5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x