Так! Так! Так! Це має ідеальний сенс робити. І я роблю це роками.
Розкриття 1: Англійська мова не є моєю рідною мовою.
Розкриття 2: Мої знання англійської граматики значно кращі, ніж знання середнього носія мови.
Розкриття 3: Що стосується спілкування з людьми, я є грамотною нацисткою.
І тепер, коли ці розкриття не вдається, дозвольте зазначити, що англійська граматика не має місця в коді. Розумієте, саме тому його називають кодом, а не прозою . Слід мати певну схожість з мовою, зрозумілою людьми, з метою читабельності, але крім цього, що нам здебільшого потрібно з коду - це не якості прози; це інші, більш технічні якості, як точність , недвозначність і строгість . Ось чому C синтаксис if( x != y ) y++;
є більш кращим у порівнянні з IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
синтаксисом Кобола. Передбачувана бажаність компіляторів, які розуміють природну мову, є помилкою, і не сприймайте моє слово за це, подивіться, що ol'Edsger має про це сказати:Едсгер В. Дійкстра, Про дурість "програмування на природній мові" .
Ще однією важливою якістю є обчислюваність ідентифікаторів . Те, що властивість, що викликається, Color
завжди може бути прочитана за допомогою методу, який називається getColor()
та записаний через метод, який називається, setColor()
має першорядне значення. Ці ідентифікатори можна обчислити з назви ресурсу, тому вам не потрібно знати їх напам’ять. Якби програміст мав обрати пару методів, що викликаються getColor()
з одного боку, а colorize()
з іншого боку, їхні колеги справедливо вважали б це саботаж. Ось наскільки важлива обчислюваність ідентифікатора.
Також можуть бути написані засоби програмування (і багато з них насправді було написано, наприклад, у сплячому режимі ), які можуть обчислити ці імена. Без обчислюваності імені ідентифікатора вам доведеться використовувати додатковий синтаксис (наприклад, у сплячому режимі, додаткові анотації), щоб точно вказати кожному інструменту, як створити кожне окреме ім'я ідентифікатора, а також саме те, яке спеціальне ім’я ви надали кожній сутності.
Отже, обчислюваність ідентифікатора важлива, в той же час граматика англійської мови не має значення (оскільки ми не робимо програмування на природній мові), щоб мати можливість обчислити ім'я колекції сутностей, завжди додаючи "s" до імені один екземпляр має ідеальний сенс, не майте на увазі того, що він порушує чутливість англійської мови більшості людей (включаючи мою).
І нам це подобається чи ні, це тенденція майбутнього. Рідна мова більшості програмістів на планеті вже не англійська, і тенденція полягає в тому, щоб продовжувати дуже сильно в цьому напрямку. (Крім того, я навіть не хотів би ставити гроші на те, що англійська мова є рідною мовою більшості програмістів, які зараз працюють у США.) Це люди, які значною мірою намагаються обчислити ім'я. колекції від назви окремого примірника «компанія», просто додасть «s», а форма «компанії» навіть не подумає. Для великого і постійно зростаючого в світі відсотка програмістів знання особливостей англійської мови не додає ніякої цінності їх роботі, це лише робить її трохи складніше.