Bắt đầu một câu với một tên chức năng? [đóng cửa]


42

Thỉnh thoảng trong khi gõ một cái gì đó liên quan đến ngôn ngữ lập trình phân biệt chữ hoa chữ thường, cuối cùng tôi bắt đầu một câu với tên hàm. Bây giờ các quy tắc của tiếng Anh nói rằng từ đầu tiên trong một câu cần phải được viết hoa; tên chức năng là chữ thường, mặc dù. Nếu bạn đang tự hỏi những gì tôi có thể nói sẽ dẫn đến từ đầu tiên là một tên hàm, hãy lấy ví dụ này:

Thực hiện fread của bạn bị hỏng. fread cần trả về số lượng byte đã đọc.

Tôi hiểu rằng tôi có thể thay đổi ví dụ thứ hai của Fread thành nhưng tôi muốn biết cách xử lý tốt nhất ngoài việc viết lại câu. Tôi có nên viết hoa tên hàm? Cách duy nhất tôi muốn nghe "viết lại câu" như một câu trả lời là nếu bắt đầu câu với tên hàm vi phạm một số quy tắc tiếng Anh mà tôi không biết. Chỉnh sửa: Tôi thực sự cảm ơn tất cả mọi người cho những câu trả lời. Họ đã thay đổi và cải thiện cái nhìn sâu sắc của tôi về vấn đề này. Tôi đã học được khá nhiều từ điều này. Tôi rất ngạc nhiên khi tôi không nghĩ đến những giải pháp đơn giản nhưng tốt đẹp này.

Tôi nghĩ rằng lập trường của tôi về việc xen kẽ câu là quá khó và bây giờ tôi nhận ra do những câu trả lời tốt này mà việc thay đổi tổng thể câu dường như là lựa chọn tốt nhất để xử lý các trường hợp này, đó là thêm dấu ngoặc đơn sau hàm hoặc nói Hàm trước tên hàm và nếu có sẵn bằng cách sử dụng định dạng cho tên hàm.


1
@gnat Tôi không hỏi nên đặt tên gì, tôi đang hỏi làm thế nào để bắt đầu một câu với tên hàm.
user3462295

13
Có một quy ước liên quan trong toán học mà người ta nên tránh bắt đầu một câu với tên hoặc công thức biến. Điều này mặc dù thực tế là chúng ta có một quy ước đánh máy rằng các biến và công thức được hiển thị bằng chữ in nghiêng để đặt chúng khỏi văn bản. Người ta sẽ tránh viết "Cho x là lũy thừa của 2. x là dương, vì vậy ..." Cách khắc phục thông thường là viết lại hoặc thêm một số từ phụ: "Bây giờ x là dương" hoặc "Chúng tôi có x là dương" hoặc một cái gì đó của loại.
Nate Eldredge

9
Một định danh từ một ngôn ngữ lập trình nên được coi là một từ nước ngoài và không nên tuân theo các quy tắc tương tự của tiếng Anh.
Rufflewind

1
Có một số lập trình viên tích cực đáng chú ý trên English.SE ( tchrist ... không quá nhiều Eric Lippert ) - nhưng nó phụ thuộc vào loại câu trả lời bạn muốn. Chúng tôi đang viết điều này như là các lập trình viên trên một trang web tập trung vào lập trình viên. Nếu bạn quan tâm hơn đến các thủ tục viết kỹ thuật, hướng dẫn tạp chí và cấu trúc câu tiếng Anh phù hợp, bạn có thể muốn xem xét lại đối tượng chuyên gia mục tiêu của mình.

2
Câu hỏi này dường như không có chủ đề vì nó là ngôn ngữ và cách sử dụng tiếng Anh và chúng tôi có toàn bộ trang web StackExchange cho điều đó. Thật vậy, có ít nhất bốn câu hỏi tương tự ở đó . Ngoài ra, các câu trả lời khác nhau có thể có giá trị như nhau tùy thuộc vào nơi bài viết xuất hiện, v.v.
Caleb

Câu trả lời:


87

Trong kiểu chữ, điều này thường được xử lý bằng cách sử dụng một kết xuất khác, cho dù đó có phải là bắt đầu của một câu hay không, để chỉ ra rằng những gì đập vào mắt không chỉ là một từ trong câu mà là một thực thể đặc biệt.

Việc freadthực hiện của bạn bị hỏng. freadcần trả về số lượng byte đã đọc.

Tùy thuộc vào mức độ chính thức của một tài liệu, nó có thể áp dụng cùng một cách tiếp cận. Trong mọi trường hợp, làm như vậy sẽ loại bỏ vấn đề bạn xác định, vì vậy bạn có thể muốn sử dụng nó cho lý do đó một mình.

Trong thế giới văn bản đơn giản (như được lưu ý bởi một số ý kiến ​​và câu trả lời khác), việc thêm dấu ngoặc đơn vào tên hàm giúp một chút, nhưng vì chúng ta cũng cần tham chiếu đến các thực thể không có dấu ngoặc đơn, điều này chỉ có giá trị giới hạn. Nói chung, không chấp nhận một quy ước bao quanh văn bản với các ký tự đặc biệt như dấu ngoặc và dấu hoa thị, trong thế giới văn bản đơn giản, có rất ít lựa chọn ngoài việc vượt qua vấn đề bằng cách cấu trúc lại câu.


Vâng, tôi thấy quan điểm của bạn, nó vẫn rơi vụng nhưng ít khó xử. Tuy nhiên tôi hiểu rằng cảm xúc không phải lúc nào cũng phù hợp với các quy tắc ngữ pháp và văn bản. Tôi không chắc có cách nào tốt hơn để xử lý việc này hay không vì vậy tôi sẽ chấp nhận câu trả lời của bạn trừ khi có ai đó nghĩ ra điều gì tốt hơn.
user3462295

25
Tôi thường chỉ in nghiêng cho những thứ như thế này - bạn nên luôn duy trì các cụm từ phân biệt chữ hoa chữ thường, bất kể chúng ở đâu trong một câu, IMO. freadkhông phải là một từ; nó là một biểu tượng đại diện cho một thực thể. Nó không phải là ngữ pháp.
Ant P

4
Và ... bạn sẽ làm gì nếu bạn phải xử lý văn bản đơn giản? Giống như trong một tệp trợ giúp .txt nhỏ hoặc email văn bản thuần túy? Tôi đề nghị bao gồm cả kịch bản đó cũng như câu trả lời của bạn.
Ellesedil

2
@Ellesedil Trong trường hợp đó, tôi thường sử dụng nó với ()hoặc (...)để chỉ ra đó là một chức năng. Nhưng điều đó không phải lúc nào cũng hoạt động, đặc biệt là khi xử lý các biến và như vậy. Những gì tôi làm sau đó là bọc tên bằng `(ký tự đánh dấu) để chỉ ra mã của nó.
Cole Johnson

4
@Ellesedil Tôi đã sử dụng cú pháp đánh dấu để chỉ ra các thành phần mã, ngay cả trong bối cảnh văn bản đơn giản như nhận xét. Đó là lần duy nhất tôi từng cần sử dụng biểu tượng backtick khi viết tiếng Anh đơn giản.
Keen

53

Nếu có một yêu cầu tuyệt đối để bắt đầu mỗi câu bằng một nắp, thì chỉ cần thay thế freadbằng " freadHàm" bất cứ khi nào nó bắt đầu một câu.


21

Nếu bạn không có phương tiện đánh máy để phân biệt (theo câu trả lời khác) và thậm chí nếu bạn làm như vậy, có thể hữu ích để cho biết rằng bạn đang nói về một chức năng bằng cách sử dụng parens:

Thực hiện fread () của bạn bị hỏng. fread () cần trả về số lượng byte đã đọc.

Điều này giúp với "giải thích" tại sao nó không được viết hoa ở đầu câu thứ hai, và cũng giúp (trong câu đầu tiên) để hiểu tại sao những danh từ riêng (tên của một hàm) không được vốn hoá có một trong hai . Vì (như một danh từ riêng) nên được cho là nên có.

("Có thể tranh luận" bởi vì chúng ta có thể tranh luận liệu fread () là một danh từ chung chung hay một danh từ riêng).

Nhìn chung, việc sử dụng parens giúp bộ não của người đọc hiểu tại sao những từ lạ xuất hiện và chúng là gì.


5
Sử dụng parens cũng giúp giảm sự dư thừa văn bản. Thay vì "hàm fread", bạn có thể nói chỉ "fread ()". Và nó cũng hữu ích nếu bạn có một loại đánh dấu để nhấn mạnh sự khác biệt giữa những thứ như tên biến và hàm.
Paul92

3
Tôi nghĩ rằng dấu ngoặc đơn chỉ thêm sự nhầm lẫn. fread()có thể là một tuyên bố cuộc gọi. Hoặc nó có thể đề cập đến một chức năng quá tải không có tham số.
kapex

4
@kapep Nói chung trong các tài liệu đề cập đến mã, func_name()được đọc là "một hàm theo tên func_name", bất kể chính hàm đó có thực sự có bất kỳ tham số nào hay không.
Eric Finn

3
@EricFinn Theo kinh nghiệm của tôi, nó thường đề cập đến các hàm không tham số, nhưng nó chắc chắn phụ thuộc vào ngôn ngữ và các quy ước của nó. Ví dụ: các hướng dẫn nhận xét Java chính thức không khuyến khích sử dụng dấu ngoặc đơn: "Khi đề cập đến [hình thức cụ thể của phương thức], hãy sử dụng dấu ngoặc đơn và loại đối số. [...] Tuy nhiên, nếu đề cập đến cả hai hình thức của phương thức, hãy bỏ qua . ngoặc hoàn toàn Nó được gây hiểu lầm để bao gồm dấu ngoặc rỗng, bởi vì đó sẽ bao hàm một dạng đặc biệt của phương pháp" oracle.com/technetwork/java/javase/documentation/...
kapex

3
Mặc dù việc thêm một đầu mối trực quan chắc chắn là một ý tưởng tốt (tốt nhất là một phông chữ chuyên dụng hoặc làm nổi bật khác), tôi đồng ý với kapep rằng việc nối các ô trống là một lựa chọn thực sự có vấn đề, bởi vì trong mọi ngôn ngữ tôi biết đều f()có nghĩa khác f. Tại sao không bao quanh tên với một số ký tự phù hợp, ví dụ: `fread` (đó là những gì tôi có xu hướng làm trong các thông điệp cam kết của VCS)? Hoặc đơn giản là (nhăn mặt). Tất nhiên, bất kỳ điều gì như vậy nên được thực hiện một cách nhất quán, không chỉ cho các chức năng ở đầu câu.
leftaroundabout

10

Bạn có thể bắt đầu câu từ mô tả:

Hàm fread[V]

Phương thức fread[Lôi]

Tài sản breadColor[Lôi]


@Zack: Tổng thống Obama.
Marc van Leeuwen

@MarcvanLeeuwen Tiêu đề là một trường hợp đặc biệt. .
zwol

8

Bạn có thể so sánh điều này với toán học nội tuyến trong các ấn phẩm. Bạn sẽ rất hiếm khi thấy các câu bắt đầu bằng một biến hoặc toán học nội tuyến khác.

Vì vậy, tôi kết luận, bạn nên tránh các tên hàm trong đầu câu.

Có lẽ câu hỏi này cung cấp thêm chi tiết: Có ổn không khi bắt đầu một câu bằng một chữ cái Hy Lạp (biến)? .


3
+1. Trong Bằng chứng toán học (Chartrand et al., 2000), có Chương 0 là một lời khuyên chân thành cho lời khuyên toán học, quy tắc đầu tiên trong Sử dụng Biểu tượng là "Không bao giờ bắt đầu câu bằng ký hiệu." (Ví dụ là một câu bắt đầu bằng một phương trình; các tác giả đề nghị mở đầu nó bằng "Phương trình ___".) Mặc dù không phải tất cả các lời khuyên viết toán học đều nhất thiết phải áp dụng cho việc viết về mã nguồn, tôi nghĩ rằng đây là một bit.
ruakh

1
Tôi không chắc chắn tôi đồng ý với sự tương tự. Các biểu tượng như $ x $ thoáng qua một phương trình nên thật kỳ lạ khi đề cập đến chúng như thể chúng có ý nghĩa toàn cầu. Nếu một biểu tượng như $ \ pi $ bắt đầu một câu, tôi sẽ cảm thấy thoải mái khi là người đọc.
djechlin

1
@djechlin Tôi không chắc rằng bắt đầu một câu bằng một biểu tượng ngụ ý rằng nó có ý nghĩa toàn cầu, hoặc trên thực tế có liên quan gì đến điều đó.
Kyle Strand

@KyleStrand thật tuyệt khi biết lý do tại sao bạn không bao giờ nên bắt đầu một câu bằng một biểu tượng. "$ \ Pi $ là ..." v. "Hằng số toán học $ \ pi $ là ..." - bạn chọn.
djechlin

1
@djechlin: Một lý do là nếu câu trước kết thúc bằng toán học, toán ở đầu câu sau có thể trông giống như một phần của cùng một công thức với một dấu chấm ở giữa. (Đây thậm chí còn là một vấn đề với dấu phẩy.) Một vấn đề khác là vì tên biến thường là chữ thường, mắt người đọc mất dấu hiệu trực quan của việc tìm chữ in hoa để tìm bắt đầu câu tiếp theo.
Nate Eldredge

3

Trang người dùng Linux cho fread (3) mà những người khác liên kết là một ví dụ tuyệt vời về bốn giải pháp phổ biến.

  1. Bắt đầu câu của bạn với "Hàm foo" hoặc "Hàm foo". "Hàm fread cần phải trả về ..." .
  2. Đánh dấu tên hàm bằng các ký tự phụ theo quy ước được sử dụng bởi cộng đồng ngôn ngữ lập trình của bạn. Trong trường hợp của C, một cặp dấu ngoặc rỗng, vì vậy "fread () cần trả về ..." .
  3. Sử dụng kiểu chữ (đậm, chữ nghiêng chiều rộng hoặc cố định) để làm nổi bật tên hàm, như: " fread cần phải trở lại ..."
  4. Trên các hệ thống sử dụng man, nếu chức năng của bạn có trang man, hãy tham khảo chương hướng dẫn sử dụng trong ngoặc đơn. Vì vậy, "fread (3) cần phải quay lại ..."

Tất cả bốn cách tiếp cận sẽ được tin tặc nhận ra ngay lập tức và bạn có thể chọn một phương pháp phù hợp với phong cách ngôi nhà hoặc giọng nói cá nhân của bạn.

Như bạn đã nói, bạn không thể dựa vào kiểu chữ để làm nổi bật tên hàm của bạn. Cú pháp của Markdown có nghĩa là làm cho tài liệu có thể đọc được ngay cả khi trình thông dịch đánh dấu không có sẵn, do đó, bằng mọi cách bao quanh tên hàm của bạn bằng một cặp backticks. (Đây là, tôi đoán là sự kết hợp của các tùy chọn 2 và 3.)

Tùy chọn 2 thay đổi theo ngôn ngữ lập trình. Ví dụ: tài liệu Ruby và Smalltalk thường đặt trước tên phương thức cá thể bằng hàm băm, như #fread . Trong khi đó, Lispers có thể thích tên hàm trống hơn, nhưng sẽ hiểu nếu bạn viết một lệnh gọi hàm khung xương, chẳng hạn như (fread ...) hoặc (fread) . Rửa sạch và lặp lại cho tất cả các ngôn ngữ bạn tài liệu.


Tôi thích câu trả lời của bạn. Làm như vậy không làm cho văn bản về các chức năng trông tốt hơn.
dùng3462295

2

Tôi sẽ chỉ trả lời cho ví dụ cụ thể được đưa ra:

Thực hiện fread của bạn bị hỏng. fread cần trả về số lượng byte đã đọc.

Chỉ cần thay thế toàn bộ điểm dừng đầu tiên (Dấu chấm) bằng dấu chấm phẩy:

Thực hiện đầu của bạn bị hỏng; fread cần trả về số lượng byte đã đọc.


3
Không! điều đó sẽ làm cho nó thành một câu chạy hoặc dấu phẩy. Ngữ pháp rất kém. Dấu chấm phẩy sẽ ổn.
Martin McCallion

Vì vậy, sử dụng dấu phẩy không phải lúc nào cũng hoạt động; nhưng tại sao lại sử dụng dấu phẩy?
Revierpost

Nó không phải là dấu phẩy. Đó là một dấu chấm phẩy; một cách sử dụng đúng dấu chấm phẩy tại đó.
RubberDuck

1
Cá nhân tôi sẽ sử dụng dấu hai chấm ở đây thay vì dấu chấm phẩy (mặc dù nó cũng đọc tốt với dấu chấm phẩy).
Marc van Leeuwen

0

Tôi biết điều này đã được trả lời, và câu trả lời được chấp nhận là khá tốt, nhưng tôi chỉ muốn làm rõ điều gì đó.

Trong ngữ pháp tiếng Anh thích hợp, điểm mấu chốt là thế này: Đôi khi các danh từ riêng được đặt tên không bắt đầu bằng chữ in hoa và trong hầu hết các trường hợp như vậy, chúng đều được gắn với việc không được viết hoa là danh từ riêng "bình thường" được viết hoa. Trong các trường hợp như vậy - chắc chắn sẽ bao gồm hầu hết các tên hàm trong các ngôn ngữ gốc C - bạn hoàn toàn không viết hoa tên, ngay cả khi bắt đầu câu. Trong thực tế, đó là ngữ pháp tiếng Anh và chính tả xấu để làm như vậy. Đây thực sự là một phần của nguyên tắc tương tự như lý do tại sao nó đúng khi đánh vần máy chơi game "PlayStation" của Sony, nhưng không phải là "Playstation".

Có những trường hợp khác trong đó một danh từ thích hợp không được viết hoa theo mặc định, và nó có thể (và nên) khi được sử dụng ở đầu câu. Tên của brainfuck ngôn ngữ là một ví dụ về điều này. Các chức năng trong ngôn ngữ gốc C không. myFunc()MyFunc()là hai điều hoàn toàn khác nhau trong các ngôn ngữ như thế và bắt đầu một câu với từ "MyFunc ()" sẽ chỉ đề cập đến từ sau, không nói đến từ trước. Mặc dù trong VB.NET, đây là một vùng màu xám, vì hai hàm này sẽ giống nhau trong ngôn ngữ đó, mặc dù tên hàm cũng sẽ giữ lại các lược đồ viết hoa do người dùng chỉ định, ở cấp độ này hay cấp độ khác.

Ngoài ra, mặc dù các quy tắc tiếng Anh được đặt ra trong trường hợp này, chúng có xu hướng trở nên mơ hồ xung quanh những thứ như thế này như một quy tắc. Tiếng Anh không được thiết kế với những thứ như thế này trong đầu, vì vậy đối với những thứ khác như thế này, có chỗ cho sự ngẫu hứng.

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.