Запитання з тегом «readability»

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

4
Чи слід перейменувати перевантажені методи?
Припустимо інтерфейс, що містить ці методи: Car find(long id); List<Car> find(String model); Чи краще перейменувати їх так? Car findById(long id); List findByModel(String model); Дійсно, будь-який розробник, який використовує цей API, не повинен шукати інтерфейс, щоб знати можливі аргументи початкових find()методів. Отже, моє питання є більш загальним: Яка користь від використання …

4
Чи існують якісь фактичні недоліки в ланцюжку самореференційних методів?
Нещодавно я запропонував метод певного класу реалізувати для певного класу в певному проекті, щоб можна було покращити читабельність коду. Я отримав "вільний інтерфейс не повинен бути реалізований просто для зручності, а для семантики", і моя пропозиція була знята. Я відповів, що не пропоную вільний інтерфейс, а метод прив'язування себе (обидва …

4
Як мені написати тест на чистий метод, який нічого не повертає?
У мене є купа класів, які займаються валідацією значень. Наприклад, RangeValidatorклас перевіряє, чи є значення у вказаному діапазоні. Кожен клас валідатора містить два способи: is_valid(value)який повертає Trueабо Falseзалежно від значення, і ensure_valid(value)який перевіряє вказане значення, або не робить нічого, якщо значення дійсне, або викидає конкретний виняток, якщо значення не відповідає …

4
Який спосіб припинити цикл читання є кращим підходом?
Коли ви маєте перебрати читача, коли кількість предметів для читання невідома, і єдиний спосіб зробити це - тримати читання, поки не досягнете кінця. Це часто місце, де вам потрібна нескінченна петля. Завжди trueвказується на те, що десь усередині блоку повинно бути breakабо returnтвердження . int offset = 0; while(true) { …

6
Чи сигіли полегшують читання вихідного коду?
У більшості мов програмування змінні не мають ідентифікаційних символів, як у PHP. У PHP ви маєте префікс змінної з $символом. Приклад; var $foo = "something"; echo $foo; Я розробляю нову мову сценаріїв для бізнес-програми, і мої цільові користувачі не мають досвіду програмування. Чи спрощують ці символи код для читання та …

1
Як написати читаний код Clojure?
Я новачок у Clojure. Я можу зрозуміти код, який я пишу, але пізніше це стає занадто важко зрозуміти. Дуже складно узгодити дужки. Яких загальних умовних положень слід дотримуватися щодо називання конвенцій та відступів у різних ситуаціях? Наприклад, я написав зразок деструктуризації зразка, щоб зрозуміти, але це виглядає зовсім нечитабельним вдруге. …

4
Підкресліть заперечення
Я просто писав заяву if із досить довгими іменами властивостей і стикався з цією проблемою. Скажімо, у нас є твердження if, як це: if(_someViewModelNameThatIsLong.AnotherPropertyINeedToCheck == someValue && !_someViewModelNameThatIsLong.ThisIsABooleanPropertyThatIsImportant) { //Do something } Друга властивість булевого типу, і не має сенсу мати схожість if(boleanValue == true) Чи є кращий спосіб підкреслити …

5
Читання функціонального програмування [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 2 роки тому . Мені це цікаво, тому що я пам'ятаю, перш ніж вивчати будь-які функціональні мови, я …

4
Чи неправильно використовувати прапори для "групування" переліків?
Я розумію, що [Flag]переліки, як правило, використовуються для речей, які можна поєднувати, де окремі цінності не є взаємовиключними . Наприклад: [Flags] public enum SomeAttributes { Foo = 1 << 0, Bar = 1 << 1, Baz = 1 << 2, } Якщо будь - яких SomeAttributesзначення може бути комбінацією Foo, …
12 c#  .net  readability  enum 

5
Повторення коду проти багатовідповідального методу
Я намагаюся слідувати принципу єдиної відповідальності (SRP), а також пропускати повторення коду. Однак часто є місця, де є повторення коду, які є не що інше, як кодові блоки викликів, стійких до вилучення їх принаймні значущим методом: DoAction1(); DoAction2(); if (value) DoAction3(); DoAction4(); Який найкращий спосіб витягти такий код у метод …

3
"Статичність" як семантична підказка про безгромадянськість?
Нещодавно я здійснив рефакторинг середнього розміру проекту на Java, щоб повернутися назад та додати тестові одиниці. Коли я зрозумів, який біль викликати знущання над одинаками та статикою, я нарешті «дістав» те, що читав про них увесь цей час. (Я один з тих людей, яким потрібно вчитися на досвіді. Ну добре.) …

6
Що є більш доцільним - булеве призначення за допомогою вираза if / else чи булевого?
Що можна вважати більш ретельним? if (a == b) c = true; else c = false; або c = (a == b); Я спробував шукати Code Complete, але не можу знайти відповідь. Я думаю, що перший є більш читабельним (його можна буквально прочитати вголос), що, на мою думку, робить його …

6
Потрібно зробити свій код більш читабельним для інших програмістів у моїй команді
Я працюю над проектом у delphi, і я створюю інсталятор програми, є три основні частини. Встановлення / видалення PostgreSQL myapplication (установка myapplication створюється за допомогою nsi) встановлення / видалення. Створення таблиць у Postgres за допомогою скрипту (пакетні файли). Кожна річ працює нормально, але якщо щось не вдається, я створив LogToFileger, …

10
Чи повинні "математичні" функції слідувати математичним позначенням?
Я припускаю, що це питання буде негайно позначено як суб'єктивне, але, на вашу думку, краще: double volume(double pressure, double n_moles, double temperature) { return n_moles * BOLTZMANN_CONSTANT * temperature / pressure; } або double volume(double P, double n, double T) { return n*R*T/P; } Іншими словами, чи повинні функції, що …

12
Обслуговуваність булевої логіки - чи потрібно вкладати, якщо потрібні заяви?
Що з них краще для ремонту? if (byteArrayVariable != null) if (byteArrayVariable .Length != 0) //Do something with byteArrayVariable АБО if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0)) //Do something with byteArrayVariable Я вважаю за краще читати і писати друге, але пам'ятаю, читання в кодовому комплекті, що робити такі речі …

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