Tôi đã thấy điều này rất nhiều trong mã, thậm chí vim đánh dấu nó là một trường hợp đặc biệt. #TODO
và #FIXME
hai dấu hiệu sửa lỗi khác vim nổi bật nhưng #XXX
có nghĩa là gì?
Tôi đã thấy điều này rất nhiều trong mã, thậm chí vim đánh dấu nó là một trường hợp đặc biệt. #TODO
và #FIXME
hai dấu hiệu sửa lỗi khác vim nổi bật nhưng #XXX
có nghĩa là gì?
Câu trả lời:
XXX
trong một bình luận thường là một head-up. Nó có thể là:
Tôi đã thường được ưa thích một thẻ mô tả giống như FIXME
hoặc TODO
hoặc HACK
. XXX
thường được sử dụng như là một bắt tất cả cho ở trên.
Tìm kiếm 'XXX' trên tham chiếu chéo mã FreeBSD là một ví dụ hay về nhiều cách sử dụng. Có hàng ngàn ...
TODO
hoặc XXX
thay vào đó), nhưng đó là cách tôi sẽ diễn giải nó.
NOTE
: Mô tả cách thức hoạt động của mã (khi nó không hiển thị).XXX
: Cảnh báo về những cạm bẫy có thể, có thể được sử dụng như NOTE:XXX:
.HACK
: Mã không được viết hoặc không đúng định dạng để tránh sự cố / lỗi. Nên dùng như HACK:FIXME:
.FIXME
: Điều này hoạt động, loại, nhưng nó có thể được thực hiện tốt hơn. (thường là mã được viết vội vàng cần viết lại).BUG
: Có một vấn đề ở đây.TODO
: Không có vấn đề, nhưng mã bổ sung cần phải được viết, thường là khi bạn bỏ qua một cái gì đó.Ít nhất đây là cách tôi được dạy về các thẻ này. Về cơ bản hai ( NOTE
và XXX
) đầu tiên được sử dụng cho thông tin và không có hành động được yêu cầu. Trong khi ba vừa qua ( FIXME
, BUG
và TODO
) làm đòi hỏi hành động. HACK
Tôi nghĩ có một nơi nào đó ở giữa (và hầu như không bao giờ được sử dụng?).
LAZY
(không quan trọng bằng FIXME hoặc HACK) và OCD
(được biết là quá mức).
Một số lưu ý từ Đề xuất cải tiến Python tháng 6 năm 2005 đã bị từ chối .
Lựa chọn giữa
FIXME
vàXXX
khó khăn.
XXX
dường như là phổ biến hơn, nhưng ít mô tả hơn.
Hơn nữa,XXX
là một giữ chỗ hữu ích trong một đoạn mã
có giá trị không xác định.Do đó
FIXME
là chính tả ưa thích.
Sun nói điều đóXXX
vàFIXME
hơi khác nhau, choXXX
mức độ nghiêm trọng cao hơn.
Tuy nhiên, với nhiều thập kỷ hỗn loạn về chủ đề này và quá nhiều triệu
nhà phát triển sẽ không bị ảnh hưởng bởi Sun, thật dễ dàng để gọi chúng là từ đồng nghĩa.
PEP bắt đầu với,
PEP này đã bị từ chối. Trong khi cộng đồng có thể quan tâm,
không có mong muốn làm cho thư viện tiêu chuẩn phù hợp với tiêu chuẩn này.
...
Codetags là gì?
Các lập trình viên sử dụng rộng rãi các quy ước đánh dấu nhận xét mã ad-hoc để đóng vai trò nhắc nhở các phần của mã cần kiểm tra hoặc xem xét kỹ hơn. Ví dụ về đánh dấu bao gồm
FIXME
,TODO
,XXX
,BUG
, nhưng có nhiều hơn nhiều trong việc sử dụng rộng rãi trong các phần mềm hiện có. Đánh dấu như vậy từ đó sẽ được gọi là tiền mã hóa . Các loại tiền mã hóa này có thể hiển thị trong mã ứng dụng, kiểm tra đơn vị, tập lệnh, tài liệu chung hoặc bất cứ nơi nào phù hợp.
PEP là một bài đọc thú vị.
Hãy xem PEP350 . Nó giải thích tất cả TODO
, XXX
v.v. Tôi sử dụng nó hàng ngày khi tôi không thể nhớ chính xác ý nghĩa của một trong các thẻ mã.
Tôi sử dụng XXX
vì nó dễ gõ hơn TODO
.
XXX
là khi bạn đang vội và sẽ tự quay trở lại vấn đề này.
TODO
là khi bạn phải trao nó cho người khác.
Có lẽ đó là trường hợp mà bạn không biết cách xử lý.
Kiểm tra điều này: Chế độ xem danh sách các câu lệnh TODO / FIXME / XXX / HACK
văn bản thay thế http://editra-plugins.googlecode.com/svn/wiki/images/commentbrowser/cb_sc Muff.PNG
Từ các quy ước mã Java (cũ) :
Sử dụng XXX trong một nhận xét để gắn cờ một cái gì đó không có thật nhưng hoạt động. Sử dụng FIXME để gắn cờ một cái gì đó không có thật và bị hỏng.
XXX là viết tắt của caveat hơi khác so với NOTE nhưng khá giống với HACK. Nó có thể là một lỗi trong thư viện / mã của bên thứ ba đang được sử dụng và mã có // XXX: chỉ ra rằng đó là cách khắc phục do lỗi trong mã của bên thứ ba hoặc nó có thể có nghĩa là "thận trọng" với ai đó đang tìm kiếm / sửa đổi mã để chỉ ra lý do tại sao một cái gì đó được thực hiện theo một cách nhất định mà nếu không thì có vẻ không chính xác / không phù hợp trong cái nhìn đầu tiên. HACK là thuật ngữ chung có nghĩa là một cách giải quyết cho một vấn đề có thể xuất hiện trong cơ sở mã của riêng bạn hoặc thư viện của bên thứ ba.
Tôi tin rằng trong khi FIXME
dành cho nhà phát triển, và HACK
dành cho người bảo trì, XXX
dành cho người dùng.
Ví dụ: nếu bạn bỏ qua XXX
và gọi chức năng này ở nơi khác, mà không hiểu cách thức hoạt động của nó, điều gì đó bất ngờ có thể xảy ra và người xử lý vấn đề này sẽ không vui (ít nhất là người đã thêm XXX
suy nghĩ như vậy). Bạn có thể nghĩ rằng vấn đề sẽ biến mất nếu bạn không sử dụng chức năng này.
Nhưng đối với FIXME
, bạn sẽ cảm thấy xứng đáng khi chỉ sửa mã để làm cho nó hoạt động. Và đối với HACK
, bạn có thể không có lựa chọn nào tốt hơn ngay cả khi bạn không sử dụng nó.
Nếu bạn đã viết XXX
trên mã của riêng bạn và ai đó đã sử dụng nó, bạn có thể cảm thấy không vui vì những lý do như bạn viết lại hoàn toàn mã đó, và sau đó nó hành xử theo những cách hoàn toàn khác nhau và bạn đã phá vỡ mã của người khác. Nhưng nếu bạn để lại FIXME
hoặc TODO
thay vào đó, bạn sẽ không quan tâm lắm.
Tôi sử dụng // XXX vì vậy tôi không phải nhớ số dòng. Thay vào đó tôi chỉ tìm kiếm XXX khi tôi muốn quay lại đoạn mã đó.