Clean code a handbook of agile software craftsmanship



tải về 0.5 Mb.
Chế độ xem pdf
trang16/20
Chuyển đổi dữ liệu02.02.2023
Kích0.5 Mb.
#54161
1   ...   12   13   14   15   16   17   18   19   20
I-II
12-KTXH-VUONG QUOC DUY(105-113)
Các thành phần tiền tố 
Bạn cũng không cần phải thêm các tiền tố như 
m_
vào biến thành viên (member variable) nữa. 
Các lớp và các hàm phải đủ nhỏ để bạn không cần chúng. Và bạn nên sử dùng các công cụ chỉnh sửa 
giúp làm nổi bật các biến này, làm cho chúng trở nên khác biệt với phần còn lại. 
public
class
Part { 
private
String
m_dsc; 
// The textual description
void
setName(
String
name) { 
m_dsc = name; 


/*...*/
public
class
Part { 
String
description
void
setDescription(
String
description) { 
this
.description = description; 




22 
Bên cạnh đó, mọi người cũng nhanh chóng bỏ qua các tiền tố (hoặc hậu tố) để xem phần có ý 
nghĩa của tên. Càng đọc code, chúng ta càng ít thấy các tiền tố. Cuối cùng, các tiền tố trở nên vô hình, 
và bị xem là một dấu hiệu của những dòng code lạc hậu. 
Giao diện và thực tiễn 
Có một số trường hợp đặc biệt cần mã hóa. Ví dụ: bạn đang xây dựng một ABSTRACT 
FACTORY. Factory sẽ là giao diện và sẽ được thực hiện bởi một lớp cụ thể. Bạn sẽ đặt tên cho chúng 
là gì? 
IShapeFactory
và 
ShapeFactory 
? Tôi thích dùng những cách đặt tên đơn giản. Trước 
đây, 
I
rất phổ biến trong các tài liệu, nó làm chúng tôi phân tâm và đưa ra quá nhiều thông tin. Tôi 
không muốn người dùng biết rằng tôi đang tạo cho họ một giao diện, tôi chỉ muốn họ biết rằng đó là 
ShapeFactory
. Vì vậy, nếu phải lựa chọn việc mã hóa hay thể hiện đầy đủ, tôi sẽ chọn cách thứ nhất. 
Gọi nó là 
ShapeFactoryImp
, hoặc thậm chí là 
CShapeFactory là cách hoàn hảo để che giấu 
thông tin. 
Tránh “hiếp râm não” người khác 
Những lập trình viên khác sẽ không cần phải điên đầu ngồi dịch các tên mà bạn đặt thành những 
tên mà họ biết. Vấn đề này thường phát sinh khi bạn chọn một thuật ngữ không chính xác. 
Đây là vấn đề với các tên biến đơn. Chắc chắn một vong lặp có thể sử dụng các biến được đặt 
tên là 
i

j
hoặc 
k
(không bao giờ là 
l
– dĩ nhiên rồi) nếu phạm vi của nó là rất nhỏ và không có tên 
khác xung đột với nó. Điều này là do việc đặt tên có một chữ cái trong vòng lặp đã trở thành truyền 
thống. Tuy nhiên, trong hầu hết trường hợp, tên một chữ cái không phải là sự lựa chọn tốt. Nó chỉ là 
một tên đầu gấu, bắt người đọc phải điên đầu tìm hiểu ý nghĩa, vai trò của nó. Không có lý do nào tồi tệ 
hơn cho cho việc sử dụng tên 
c
chỉ vì 
a
và 
b
đã được dùng trước đó. 
Nói chung, lập trình viên là những người khá thông minh. Và những người thông minh đôi khi 
muốn thể hiện điều đó bằng cách hack não người khác. Sau tất cả, nếu bạn đủ khả năng nhớ 
r
là the 
lower-cased version of the url with the host and scheme removed, thì rõ ràng là – bạn cực kỳ thông minh 
luôn. 
Sự khác biệt giữa lập trình viên thông minh và lập trình viên chuyên nghiệp là họ – những người 
chuyên nghiệp hiểu rằng sự rõ ràng là trên hết. Các chuyên gia dùng khả năng của họ để tạo nên những 
dòng code mà người khác có thể hiểu được. 
Tên lớp 
Tên lớp và các đối tượng nên sử dụng danh từ hoặc cụm danh từ, như 
Customer

WikiPage

Account
, và 
AddressParser
. Tránh những từ như 
Manager

Processor

Data
, hoặc 
Info
trong tên của một lớp. Tên lớp không nên dùng động từ. 


23 

tải về 0.5 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   12   13   14   15   16   17   18   19   20




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương