Занадто довгі мої методи чи назви змінних? [зачинено]


15

Тож я в даний час опинився в середині кодування, на жаль, для мене, я був у "Зоні", тоді я подумав про себе, чи є мої методи / назви змінних довгими?

POP із зони, в яку я йду!

Тому я прийшов сюди, щоб запитати, чи занадто довгі мої назви методів / змінних? Ти будеш Суддею! Бонус вказує всім, хто може зрозуміти, що я пишу, хоча я впевнений, що гуру це зрозуміє швидко!

У будь-якому випадку, ось деякі мої методи та назви змінних.

Методи: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

Змінні: isNextToBlockedSquares;

Гадаю, була лише одна змінна, яка здавалася занадто довгою.


Відповіді:


31

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

Наприклад, замість searchBlockedListForBlockedSquares()вас можна було б blockedList.getBlockedSquares(). Так само isCurrentSquareNextToAtLeastOneBlockedSquare()стає currentSquare.isAdjacentToABlockedSquare().


Сусідне було слово, яке я шукав! Дякую =)
Брайан Харрінгтон

@Bryan: Ласкаво просимо. :)
Адам Лір

11

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

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

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

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


5

Ім'я змінної - неправильна довжина, коли чітко не описано її призначення. Це стосується того, що вони занадто короткі або занадто довгі.

Короткі та нескінченні імена змінних можуть бути неоднозначними, або, що ще гірше, не мають відношення до того, що є змінною. У часи інтерпретованих БАЗОВИХ перекладач нас обмежував двома іменами символів. Було дуже важко придумати значущі імена у великій програмі. Імена змінних з однією літерою часто використовуються для циклів і лічильників, але я думаю, їх слід уникати інакше. for (i = 0; i < 10; i++) {...}використання, iі це досить часто. j- ім'я вторинної змінної.

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

Я б назвав " isCurrentSquareNextToAtLeastOneBlockedSquare" currentSquareNextToBlockedSquare?, якщо б це робив у Рубі.

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