Початок речення з назвою функції? [зачинено]


42

Іноді під час введення чого-небудь, що стосується чутливої ​​до регістру мови програмування, я починаю речення з назвою функції. Тепер норми англійської мови стверджують, що перше слово в реченні має бути з великої літери; Хоча назва функції - це малі літери. Якщо вам цікаво, що я можу сказати, це призведе до того, що перше слово буде назвою функції, візьміть цей приклад:

Ваша фрейд-реалізація порушена. fread потребує повернення, скільки байтів було прочитано.

Я розумію, що я міг би змінити другий екземпляр фреда на нього, але я хочу знати найкращий спосіб поводження з цим, крім простого переписування вироку. Чи слід писати великі літери назви функції? Єдиний спосіб, який я хотів би почути як "переписати речення" як відповідь, це якщо початок речення з назвою функції порушує якесь англійське правило, про яке я не знаю. Редагувати: Я дуже дякую всім за ці відповіді. Вони змінили та покращили моє розуміння проблеми. Я з цього навчився зовсім небагато. Я дуже здивований, що не думав про ці прості, але хороші рішення.

Я думаю, що моя позиція щодо чергування речення була занадто жорсткою, і тепер я розумію, завдяки цим хорошим відповідям, що загальна зміна речення є найкращим варіантом для вирішення цих випадків, будь то додавання дужок після функції або вимова функції до ім'я функції та, якщо це можливо, використовуючи форматування для імені функції.


1
@gnat Я не запитую, як щось назвати, я запитую, як почати речення з назви функції.
користувач3462295

13
У математиці існує відповідна конвенція, що слід уникати початку речення зі змінною назвою чи формулою. Це незважаючи на те, що у нас є типографічна умова про те, що змінні та формули відображаються курсивом, щоб вилучити їх з тексту. Можна було б не писати "Нехай x - сила 2. x є позитивною, тому ..." Зазвичай виправлення полягає в перефразовуванні або додаванні якогось слова наповнювача: "Тепер x є позитивним" або "У нас це x є позитивним" або щось подібне.
Нейт Елдредж

9
Ідентифікатор з мови програмування повинен розглядатися як іноземне слово і не повинен застосовуватися до тих самих правил англійської мови.
Rufflewind

1
На English.SE є кілька надзвичайно активних програмістів ( tchrist ... не так багато Еріка Ліпперта ) - але це залежить від типу відповіді, яку ви хочете. Ми пишемо це як програмісти на сайті, орієнтованому на програміста. Якщо вас більше цікавлять формальності технічного написання, рекомендацій щодо журналу та належної структури англійських пропозицій, ви можете переглянути свою цільову експертну аудиторію.

2
Це питання видається поза темою, оскільки це англійська мова та використання, і у нас є цілий сайт StackExchange для цього. Дійсно, є принаймні чотири подібні питання там . Крім того, різні відповіді можуть бути однаково достовірними залежно від того, де з’являється написання тощо.
Caleb

Відповіді:


87

У типографії це, як правило, обробляється за допомогою різного відображення, будь то початок речення чи ні, щоб вказати, що те, що потрапляє в око, є не просто словом у реченні, а особливою сутністю.

Ваша freadреалізація порушена. freadпотрібно повернути, скільки байтів було прочитано.

Залежно від того, наскільки формальним є документ, він може використовувати той самий підхід. У будь-якому випадку це усуває проблему, яку ви ідентифікуєте, тож, можливо, ви хочете скористатися нею лише з цієї причини.

У простому текстовому світі (як зазначається декількома у коментарях та інших відповідях) додавання дужок до імен функцій трохи допомагає, але оскільки нам також потрібно звертатися до сутностей, які не приймають дужки, це має лише обмежене значення. Загалом, якщо не прийняти конвенцію про оточення тексту спеціальними символами, такими як дужки та зірочки, у простому текстовому світі є мало варіантів, окрім як вирішити проблему шляхом реструктуризації речення.


Так, я бачу вашу думку, він все ще незручний, але менш незручний. Однак я розумію, що почуття не завжди узгоджуються з правилами граматики та письма. Я не впевнений, чи є кращий спосіб впоратися з цим, тому я прийму вашу відповідь, якщо хтось не придумає щось краще.
користувач3462295

25
Я часто просто курсивом подаю курсивом такі речі - ви завжди повинні підтримувати букви термінів, що залежать від регістру, незалежно від того, де вони є у реченні, IMO. freadце не слово; це символ, що представляє сутність. Це не підлягає граматиці.
Мураха P

4
І ... що ви робите, якщо вам доведеться мати справу з простим текстом? Як у невеликому .txt довідковому файлі чи простому текстовому листі? Я пропоную включити цей сценарій також і до вашої відповіді.
Ellesedil

2
@Ellesedil У такому випадку я, як правило, суфікс із ним ()або вказую, що (...)це функція. Але це не завжди спрацьовує, особливо при роботі зі змінними тощо. Що я тоді роблю, це обернути ім'я `(позначте галочку), щоб вказати, що це код.
Коул Джонсон

4
@Ellesedil Я використовував синтаксис розмітки для вказівки елементів коду, навіть у контексті простого тексту, таких як коментарі. Це єдиний раз, коли мені потрібно було використовувати символ "backtick" при написанні простої англійської мови.
Кін

53

Якщо є абсолютна вимога починати кожне речення з великої літери, то просто замініть freadна " freadФункцію", де б воно не почалося реченням.


21

Якщо у вас немає типографічних засобів для розрізнення (за іншою відповіддю), і, можливо, навіть якщо ви це зробите, це може бути корисно вказати, що ви говорите про функцію, використовуючи паролі:

Ваша реалізація fread () порушена. fread () повинен повернути, скільки байтів було прочитано.

Це допомагає «пояснити» , чому вона не капіталізується на початку другого речення, а також допомагає (в першому реченні) , щоб зрозуміти , чому власна назва (назва функції) НЕ капіталізуються там або . Оскільки (як власне іменник) це, мабуть, мало бути.

("можливо", тому що ми можемо стверджувати, що fread () є родовим іменником чи власним іменником).

Загалом, використання паронів допомагає мозку читача зрозуміти, чому з’являються дивні слова та якими вони є.


5
Використання паронів також сприяє зменшенню надмірності тексту. Замість "функції fread" ви можете сказати просто "fread ()". А також корисно, якщо у вас є якесь виділення, щоб підкреслити різницю між такими речами, як назви змінних і функції.
Paul92

3
Я думаю, що дужки лише додають більше плутанини. fread()може бути заявою про дзвінок. Або це могло посилатися на перевантажену функцію без параметрів.
капекс

4
@kapep Загалом у документах, що посилаються на код, func_name()читається як "функція від імені func_name", незалежно від того, чи має фактична функція сама параметри чи ні.
Ерік Фінн

3
@EricFinn В моєму досвіді це, як правило, стосується функцій, які не мають параметрів, але це залежить від мови та її умов. Наприклад, офіційні вказівки щодо коментарів Java перешкоджають використанню дужок: "Коли ви посилаєтесь на [конкретну форму методу], використовуйте дужки та типи аргументів. [...] Однак, якщо ви посилаєтесь на обидві форми методу, опустіть Дуже вводити в оману пусті дужки, оскільки це означатиме певну форму методу " oracle.com/technetwork/java/javase/documentation/…
kapex

3
Хоча додавання візуальної підказки - це, безумовно, хороша ідея (найкраще - це виділений шрифт або виділяється іншим способом), я погоджуюсь з kapep, що додавання порожніх парен - це справді проблематичний вибір, тому що в кожній мові, яку я знаю, f()означає щось інше f. Чому б не оточити ім'я відповідним символом, наприклад, "fread" в стилі розмітки (саме це я схильний робити в повідомленнях VCS для виконання)? Або просто (фреад). Звичайно, будь-яку таку річ слід робити послідовно, а не лише для функцій на початку речення.
близько

10

Почати речення можна з опису:

Функція fread[…]

Метод fread[…]

Властивість breadColor[…]


@Zack: Президент Обама.
Марк ван Левен

@MarcvanLeeuwen Назви - це окремий випадок. (Також "Королева Єлизавета", "Містер Роджерс".) У мене немає належного аналізу вгорі голови, але інтуїтивно думаю, що вони вважаються частиною назви, а не тегом категорії.
zwol

8

Ви можете порівняти це з вбудованою математикою у публікаціях. Ви дуже рідко побачите речення, що починаються зі змінної чи іншої вбудованої математики.

Таким чином, я підсумую, вам слід уникати імен функцій на початку речення.

Можливо, це запитання містить додаткові деталі: Чи добре починати речення з грецької літери (змінної)? .


3
+1. У « Математичних доказів» (Chartrand et al., 2000), глава 0 яких є справжньою основою гарних порад щодо математичного письма, перше правило в розділі Використання символів - «Ніколи не починати речення символом». (Приклад - це речення, яке починається з рівняння; автори пропонують заздалегідь скласти його з "Рівняння ___".) Хоча не всі поради щодо математичного написання обов'язково стосуються написання вихідного коду, я думаю, що це один біт.
ruakh

1
Я не впевнений, що згоден з аналогією. Символи, такі як $ x $, швидко переходять до рівняння, тому дивно посилатися на них так, ніби вони мають глобальне значення. Якщо такий символ, як $ \ pi $, починає речення, я б почувався комфортно як читач.
djechlin

1
@djechlin Я не впевнений, що початок речення із символом означає, що він має глобальне значення, або насправді має щось спільне з цим.
Кайл Странд

@KyleStrand було б добре знати, чому ти ніколи не повинен починати речення із символу. "$ \ pi $ є ..." v. "Математична константа $ \ pi $ - це ..." - ви вибираєте.
djechlin

1
@djechlin: Однією з причин є те, що якщо попереднє речення закінчується математикою, математика на початку наступного речення може виглядати як частина тієї ж формули з крапкою між ними. (Це ще більше викликає проблеми з комами.) Інша проблема полягає в тому, що оскільки імена змінних зазвичай бувають малі, очі читача втрачають візуальну підказку пошуку великої літери, щоб знайти початок наступного речення.
Нейт Елдредж

3

Сторінка man для Linux для fread (3), з якою пов'язані інші, - чудовий приклад чотирьох загальних рішень.

  1. Почніть своє речення з "Функції foo" або "Foo function". "Функція fread потребує повернення ..." .
  2. Позначте ім'я функції додатковими символами згідно з умовами, якими користується мовна спільнота мов програмування. У випадку з C порожня пара дужок, тому "fread () потрібно повернути ..." .
  3. Використовуйте типографіку (жирним шрифтом, символами фіксованої ширини або курсивом), щоб виділити ім'я функції, як: " fread потребує повернення ..."
  4. Про системи, які використовують man, якщо у вашій функції є підручна сторінка, зверніться до розділу керівництва в дужках. Отже, "fread (3) потребує повернення ..."

Усі чотири підходи будуть негайно розпізнані хакерами, і ви повинні мати можливість вибрати той, який відповідає вашому стилю будинку або вашому особистому голосу.

Як ви вже говорили, ви не можете розраховувати на типографію, щоб виділити ім'я функції. Синтаксис Markdown призначений для того, щоб зробити читабельну документацію навіть тоді, коли інтерпретатор розмітки недоступний, тому всім способом оточуйте ім’я функції парою зворотних посилань. (Це, мабуть, комбінація варіантів 2 і 3.)

Варіант 2 залежить від мови програмування. Наприклад, документи Ruby і Smalltalk часто передують іменам методу екземпляра з хешем, наприклад #fread . Тим часом, Лісперс може вважати за краще, щоб ім’я функції було оголеним, але зрозуміє, чи ви пишете виклик функції скелета, наприклад (fread ...) або (fread) . Промийте та повторіть для всіх мов, які ви документуєте.


Мені подобається ваша відповідь. Якщо зробити таке, письмово про функції виглядатимуть краще.
користувач3462295

2

Я збираюся відповісти лише на конкретний приклад:

Ваша фрейд-реалізація порушена. fread потребує повернення, скільки байтів було прочитано.

Просто замініть першу повну зупинку (Період) крапкою з комою:

Ваша фрейд-реалізація порушена; fread потребує повернення, скільки байтів було прочитано.


3
Немає! це зробило б це речення на розбіг або зрощення комами. Дуже погана граматика. Точка з комою буде добре.
Мартін МакКалліон

Тож використання коми не завжди працює; але навіщо використовувати кому?
reinierpost

Це не кома. Це крапка з комою; правильне використання крапки з комою.
RubberDuck

1
Я особисто використовував би двокрапку замість крапки з комою (хоча вона добре читається і з крапкою з комою).
Marc van Leeuwen

0

Я знаю, що на це вже відповіли, і прийнята відповідь досить гарна, але я просто хочу щось уточнити.

У правильній англійській граматиці підсумок такий: Іноді власним іменникам присвоюються імена, які не починаються з великої літери, і в більшості таких випадків вони до всіх додаються, щоб вони не були написані з великої літери, оскільки "нормальні" належні іменники мають капіталізуються. У таких випадках - які, безумовно, включатимуть більшість імен функцій на мовах, породжених С, - ви абсолютно не використовуєте великих літер, навіть на початку речення. Насправді це погана англійська граматика та правопис. Це насправді є частиною того самого принципу, що і те, чому правильно писати ігрову консоль Sony «PlayStation», але не «Playstation».

Є й інші випадки, коли власне іменник за замовчуванням не повинно писатись з великої літери, але воно може бути (і повинно бути), коли воно вживається на початку речення. Назва мовного ебани є прикладом цього. Функції в мовах, що походять з С, не є. myFunc()і MyFunc()це дві абсолютно різні речі на таких мовах, і початок речення зі словом "MyFunc ()" стосуватиметься лише останньої, а не першої. У VB.NET, однак, це сіра область, оскільки ці дві функції будуть однаковою мовою на цій мові, хоча імена функцій також зберігатимуть визначені користувачем схеми капіталізації на тому чи іншому рівні.

Крім того, незважаючи на те, що англійські правила в цьому випадку встановлені в камені, вони, як правило, замулюють щось подібне. Англійська мова не була розроблена з урахуванням подібних речей, тому для інших подібних речей є місце для імпровізації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.