Вопросы с тегом «functions»

Функция - это блок кода, который выполняет определенную задачу.

15
Является ли нежелательным создание функции, которая по существу переименовывает встроенную функцию?
Я запутался в функциях min и max в определенных контекстах. В одном контексте, когда вы используете функции для получения большего или меньшего из двух значений, это не проблема. Например, //how many autographed CD's can I give out? int howManyAutographs(int CDs, int Cases, int Pens) { //if no pens, then I …

12
Почему у большинства языков программирования есть специальное ключевое слово или синтаксис для объявления функций? [закрыто]
Большинство языков программирования (как динамически, так и статически типизированных) имеют специальные ключевые слова и / или синтаксис, которые выглядят значительно иначе, чем объявления переменных для объявления функций. Я вижу функции как объявление другой именованной сущности: Например в Python: x = 2 y = addOne(x) def addOne(number): return number + 1 …

6
Почему плохая связь между функциями и данными плоха?
Я нашел эту цитату в « Радости Clojure » на с. 32, но кто-то сказал мне то же самое за ужином на прошлой неделе, и я слышал это и в других местах: Недостатком объектно-ориентированного программирования является тесная связь между функцией и данными. Я понимаю, почему ненужное соединение плохо в приложении. …

4
В C ++ почему и как виртуальные функции работают медленнее?
Может кто-нибудь подробно объяснить, как именно работает виртуальная таблица и какие указатели связаны при вызове виртуальных функций. Если они на самом деле медленнее, можете ли вы показать, что время выполнения виртуальной функции превышает обычные методы класса? Легко потерять отслеживание того, как / что происходит, не видя некоторого кода.

10
Почему Today () является примером нечистой функции?
Кажется, что, читая что-то вроде этой статьи в Википедии о «чистых функциях» , они приводят Today()в качестве примера нечистую функцию, но она кажется мне довольно чистой. Это потому, что нет формального входного аргумента? Почему фактическое время дня не рассматривается как «входные данные для функции», и в этом случае, если вы …

1
Имя для функции, которая возвращает свои аргументы?
Функция, которая ничего не делает, не принимает аргументов и ничего не возвращает, традиционно называется a noopили no-op. Пример noop ниже: function noop(){} http://en.wikipedia.org/wiki/NOP Так есть ли имя для функции, которая предназначена только для того, чтобы возвращать свои аргументы и ничего не делать? Пример такого рода функции: function(a){return a}
34 functions 

6
Являются ли затворы нечистым функциональным стилем?
Являются ли замыкания нечистыми в функциональном программировании? Кажется, что можно вообще избежать замыканий, передавая значения непосредственно в функцию. Поэтому следует ли по возможности избегать закрытия? Если они нечисты, и я правильно заявляю, что их можно избежать, почему так много функциональных языков программирования поддерживают замыкания? Один из критериев для чистой функции …

4
Как языки программирования определяют функции?
Как языки программирования определяют и сохраняют функции / методы? Я создаю интерпретируемый язык программирования в Ruby и пытаюсь понять, как реализовать объявление функций. Моя первая идея - сохранить содержание декларации на карте. Например, если я сделал что-то вроде def a() { callSomething(); x += 5; } Тогда я бы добавил …

4
Объявление функции как var вместо функции
Все больше и больше я вижу, что функции объявляются как var foo = function() { // things }; Вместо того, как я узнал, как function foo() { // things } Какая разница? Лучшая производительность? Объем? Должен ли я использовать этот метод?

6
Извлечение метода против основополагающих допущений
Когда я разделяю большие методы (или процедуры, или функции - этот вопрос не является специфическим для ООП, но, поскольку я работаю на языках ООП в 99% случаев, это терминология, которая мне наиболее удобна) на множество маленьких Я часто бываю недоволен результатами. Об этих маленьких методах становится сложнее рассуждать, чем когда …

2
Почему передача больших анонимных функций в качестве аргументов другим функциям так широко принята в JavaScript?
У меня есть мнение (которое, я уверен, некоторые поделятся), что передача анонимных функций, которые содержат более нескольких строк кода, в качестве аргументов для других функций сильно влияет на читабельность и самодокументирование до такой степени, что, как мне кажется, это будет гораздо лучше для любого, кто использует код для объявления именованной …


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', …

2
Является ли хорошей идеей предоставлять разные сигнатуры функций, которые делают одно и то же?
Вот класс C ++, который создается с тремя значениями. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; Все типы параметров разные. Я мог бы перегрузить конструктор, чтобы порядок не имел значения. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, int, char); Foo(char, int, std::string); Foo(char, …

5
Функция возвращает true / false против void при успешном завершении и выдает исключение при сбое
Я строю API, функцию, которая загружает файл. Эта функция не будет возвращать ничего / пусто, если файл был загружен правильно, и выдает исключение при возникновении проблемы. Почему исключение, а не просто ложь? Потому что внутри исключения я могу указать причину сбоя (нет соединения, отсутствует имя файла, неверный пароль, отсутствует описание …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.