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

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

10
Чи є ім’я для (анти-) шаблону передачі параметрів, який буде використовуватися лише кілька рівнів у ланцюзі викликів?
Я намагався знайти альтернативи використанню глобальної змінної в якомусь спадковому коді. Але це питання не стосується технічних альтернатив, мене в основному хвилює термінологія . Очевидним рішенням є передача параметра у функцію замість використання глобального. У цій застарілій кодовій базі це означатиме, що я повинен змінити всі функції в ланцюзі довгого …

5
Які хороші звички для проектування аргументів командного рядка?
Розробляючи додаток, я почав задаватися питанням - як я повинен проектувати аргументи командного рядка? Багато програм використовують формулу на кшталт цієї -argument valueабо /argument value. Рішення, яке мені прийшло в голову, було argument:value. Я подумав, що це добре, оскільки без пробілів немає можливості зіпсувати значення та аргументи. Також легко розділити …
190 design  parameters  cli 

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

14
Яка найкраща практика впорядкування параметрів у функції?
Іноді (рідко) здається, що найкращим маршрутом є створення функції, яка приймає пристойну кількість параметрів. Однак, коли я це роблю, я відчуваю, що часто вибираю впорядкування параметрів навмання. Зазвичай я йду за "порядком важливості", перш за все найважливішим параметром. Чи є кращий спосіб зробити це? Чи існує спосіб "найкращої практики" впорядкування …

10
Чи слід уникати спеціальних об'єктів як параметрів?
Припустимо, у мене є власний об'єкт, студент : public class Student{ public int _id; public String name; public int age; public float score; } І клас Window , який використовується для показу інформації студента : public class Window{ public void showInfo(Student student); } Це виглядає цілком нормально, але я виявив, …

7
Чи використання імен параметрів, які відрізняються від імен типів лише за допомогою корпусу, вважається поганою практикою в C #?
Я бачу подібні до цього питання щодо імен параметрів, які відповідають властивостям класу, але я не можу знайти нічого щодо використання імені параметра, яке є таким же, як назва типу параметра, за винятком корпусу в C #. Я не можу виявити порушення, але чи вважається це поганою практикою? Наприклад, у …

9
Чи слід приймати порожні колекції у своїх методах, які повторюють їх?
У мене є метод, коли вся логіка виконується всередині циклу foreach, який переходить через параметр методу: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } У цьому випадку надсилання порожньої колекції призводить до порожньої колекції, але мені цікаво, чи це …

13
Чи неправильно використовувати булевий параметр для визначення значень?
Згідно Чи неправильно використовувати булевий параметр для визначення поведінки? , Я знаю важливість уникати використання булевих параметрів для визначення поведінки, наприклад: оригінальна версія public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } Нова версія: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ b(); c(); } Але як …

2
Чому методи, що приймають необмежену кількість параметрів, часто визначають перевантаження з меншою кількістю параметрів?
Наприклад, System.IO.Path.Combineметод у .NET має такі перевантаження: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) У чому сенс останніх трьох? Перший охоплював би їх усіх, так як якщо ви уважно придивитесь, він використовує paramsключове слово. Аргумент зворотної сумісності охоплював би лише Combine(String, String)варіант, оскільки він був єдиною …

9
Як назвати метод, який виконує завдання і повертає булевий статус як статус?
Якщо є метод bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } чи варто його швидше називати IsStuffDone()? Обидва імені може бути неправильно інтерпретовано користувачем: Якщо ім'я, DoStuff()чому воно повертає булеве? Якщо назва - IsStuffDone()невідомо, чи метод виконує завдання чи …

3
Необов’язкові параметри або перевантажені конструктори
Я реалізую DelegateCommand, і коли я збирався реалізувати конструктори, я придумав два варіанти дизайну: 1: Маючи кілька перевантажених конструкторів public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Маючи лише один конструктор з необов'язковим параметром public …

3
Чому б не коментувати параметри функції?
Щоб зробити це питання відповідальним, припустимо, що вартість неоднозначності на увазі програміста значно дорожча, ніж кілька додаткових натискань клавіш. З огляду на це, чому я б дозволив своїм товаришам по команді піти, не зазначаючи параметри своїх функцій? Візьміть такий приклад як приклад того, що може бути набагато складнішим кодом: let …
28 f#  parameters 

7
Вкажіть необов'язкові імена параметрів, хоча вони не потрібні?
Розглянемо наступний метод: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } І наступний дзвінок: var ids = ReturnEmployeeIds(true); Для нового розробника в системі було б досить складно здогадатися, що trueзробив. Перше, що ви зробите, - навести курсор на ім'я методу або перейти до визначення (жодне з яких не є великими …

5
Кілька аргументів у виклику функції проти одного масиву
У мене є функція, яка приймає набір параметрів, потім застосовує їх як умови до SQL-запиту. Однак, поки я віддав перевагу одному масиву аргументів, що містить самі умови: function searchQuery($params = array()) { foreach($params as $param => $value) { switch ($param) { case 'name': $query->where('name', $value); break; case 'phone': $query->join('phone'); $query->where('phone', …

6
Чи має бути метод прощати аргументи, які передаються? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Припустимо, у нас є метод, foo(String bar)який працює лише на рядках, що відповідають певним …
21 java  parameters 

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