Khoảng cách giữa dấu âm và tên biến


8

Tôi đã thử thực hiện tìm kiếm Google, cũng như tìm kiếm trang web Stack Exchange này nhưng không thể tìm thấy câu hỏi liên quan trực tiếp đến vấn đề này.

Các PEP 8 - Phong cách Hướng dẫn cho Python Mã có rất nhiều khuyến nghị phong cách tốt, tuy nhiên tôi không nghĩ rằng họ đề cập đến bất cứ điều gì về việc liệu một khoảng trống giữa dấu trừ hoặc dấu hiệu tiêu cực ( -) và một tên biến sẽ được nhiều hơn hoặc ít hơn có thể đọc được.

Câu hỏi

Đó là một vấn đề nhỏ (rất), nhưng được coi là dễ đọc hơn?

  • false_positive = -true_positive
  • false_positive = - true_positive

Động lực

Tôi yêu cầu không tầm thường, nhưng vì trong các khóa học toán trước đây, tôi thường thấy mình không nhận thấy dấu âm trong các phương trình quan trọng, chẳng hạn như phương trình tính toán entropy :

công thức entropy

Tôi thường không nhận thấy -dấu hiệu trước khi tổng kết, vì vậy làm cho nó nổi bật sẽ là mong muốn.


Tôi chưa bao giờ thấy ai viết toán học hoặc mã với khoảng cách giữa phủ định và toán hạng của nó.
Thomas Eding

Câu trả lời:


12

Tôi không thể tìm thấy bất cứ điều gì về nó trong hướng dẫn kiểu Python, như bạn đã nói, nhưng việc tìm kiếm "khoảng cách toán tử đơn nguyên" đã mang lại nhiều lượt truy cập hơn từ các ngôn ngữ khác nhau, chẳng hạn như điều này cho Javascript :

Không có không gian nào nên tách một toán tử đơn nguyên và toán hạng của nó trừ khi toán tử là một từ như typeof.

Hoặc cái này cho C :

Không sử dụng khoảng trắng xung quanh toán tử đơn nguyên, ngoại trừ sizeof và phôi

Trong nhân Linux :

Sử dụng một khoảng trắng xung quanh (ở mỗi bên) hầu hết các toán tử nhị phân và nhị phân, [...] nhưng không có khoảng trắng sau các toán tử đơn nguyên:

Lưu ý rằng một kiểu viết , thường được viết bằng phông chữ có chiều rộng cố định và chủ yếu là các ký tự Latinh, khá khác so với các phương trình, trong đó bạn có thể tìm thấy cả các chữ cái Latinh và Hy Lạp, các cấu trúc tôpô như phân số hoặc các dấu xung quanh mà epsilon bạn có ở đó, và những thứ khác làm cho chúng phức tạp hơn nhiều so với mã.


Cảm ơn bạn đã nghiên cứu và cho các từ khóa bổ sung ("toán tử đơn nguyên") sẽ giúp ích trong các tìm kiếm trong tương lai!
Wesley Baugh

1

Tôi đã chạy qua cái này trước đây và tôi đã sử dụng

var false_positive = 0 - true_positive

để đảm bảo ý định rõ ràng. Đó là hình thức dễ đọc hơn.


0

Tôi nghĩ rằng cái thứ hai ít tệ hơn một chút, bởi vì dấu trừ ít có khả năng được đọc như một phần của từ; Tuy nhiên, tôi nghĩ cả hai hình thức đều xấu.

Tôi sẽ thay thế toàn bộ bằng

false_positive = -1 * true_positive

hoặc thậm chí

false_positive = (-1) * true_positive

Bằng bất kỳ ngôn ngữ nào.


1
Đây là một ý tưởng tốt, nhưng phép nhân đắt hơn so với phép cộng nên tôi thích @ jeffbeat 0 - true_positivehơn vì nó giúp giải quyết vấn đề hiệu quả hơn cho máy xử lý.
GlenPeterson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.