|
|
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Расскажите, на каком основании вы принимаете решение поместить какой-то код в функцию/процедуру? Помещаете ли вы код в функцию/процедуру при каких-то обстоятельствах, не смотря на то, что он вызывается только один раз? Если да, то в каких случаях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 12:02 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Логически обособленный блок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 12:17 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Основание - если несколько раз вызывается. Если один раз - не помещаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 12:27 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
а таки - объектно-ориентированный стиль требует по-возможно всё заворачивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 12:58 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001Расскажите, на каком основании вы принимаете решение поместить какой-то код в функцию/процедуру? Помещаете ли вы код в функцию/процедуру при каких-то обстоятельствах, не смотря на то, что он вызывается только один раз? Если да, то в каких случаях? В детстве, в одной старой книге я читал исключительно удачное описание процесса проектирования. Оно звучало примерно так: допустим, нам нужно написать некую программу, назовём её ДЕНЬГИ. Давайте представим себе, что у нас уже есть компьютер или компилятор, в систему команд которого входит команда ДЕНЬГИ. Тогда ситуация просто великолепна - мы можем написать одну строку и программа готова. Но, к сожалению, такой машины у нас нет, поэтому мы должны подумать, что наша программа должна делать, например: ввести данные, посчитать и выдать результат. Поэтому мы пишем: ВВЕСТИ_ДЕНЬГИ; ПОСЧИТАТЬ_ДЕНЬГИ; РАСПЕЧАТАТЬ_ДЕНЬГИ; К сожалению, таких команд у нас тоже пока нет в распоряжении, поэтому мы должны повторить этот процесс ещё и ещё раз, пока наконец не спустимся на уровень тех задач, которые можем решить имеющимся в распоряжении инструментом. Так вот, важно понимать следующее: программируя, мы формулируем решение задачи на некотором языке. Определяя подпрограмму - мы определяем новое слово (понятие, термин) на этом языке. Это и есть ответ на Ваш вопрос: подпрограмма выделяется тогда, когда удобно и разумно определить некий термин. Он может переиспользоваться (ну скажем, как в математике понятие интеграла - позволяет не повторять прорву слов каждый раз), но в принципе не обязан (как в той же математике - чтобы доказать эту теорему, давайте докажем парочку лемм). Важно то, что решение задачи удобно сформулировать с использованием этого нового термина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 13:27 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
ну вот примитивный пример: при нажатии на кнопку проведения документа выполняется ряд проверок: 1.наличие прав (10 строк) 2.правильность заполнения документа (100 строк) 3.еще что-то, что сложно объединить по какой-то тематике(50 строк) или при нажатии на кнопку "проверить что-то там..." выполняется: 1.проверка настроек(3 строки) 2.проверка прав (5 строк) 3.еще что-то проверяется (10 строк) 4.выводится сообщение о результатах проверки (вариантов сообщений много, все зависит от результатов проверок) в 1м случае можнно сделать 3 функции для каждого из пунктов Проверить права Проверить правильность Дополнительные проверки а во 2м случае можно: 1.оставить весь код внутри кнопки 2.создать функцию которая все проверит и что-то вернет, результат будет проверен в кнопке и выведено сообщение 3.создать функцию которая все проверит и что-то вернет, создать функцию которая получит результат проверки, сформирует и выведет строку сообщения и еще множество вариаций может быть... какие варианты нравятся и почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 13:35 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
AkinaЛогически обособленный блок. Та же фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 13:35 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
kmawОснование - если несколько раз вызывается. Если один раз - не помещаюэто проходит, со временем. правильный ответ: логически обособленный блок, обоснование: блестяще представлено softwarer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 13:53 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
kmawОснование - если несколько раз вызывается. Если один раз - не помещаю Если блок требует отдельного набора переменных, которые не нужны ни выше, ни ниже по тексту, то тоже претендент на выделение в подпрограмму, даже если этот блок вызывается лишь однажды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 13:53 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
egorychkmawОснование - если несколько раз вызывается. Если один раз - не помещаюэто проходит, со временем. правильный ответ: логически обособленный блок, обоснование: блестяще представлено softwarer я думаю, для этого достаточно Код: c# 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 15:19 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
kmawя думаю, для этого достаточно Код: c# 1. 2. 3. на мой взгляд - не всегда если подходить с точки зрения современных сред разработки, то регион - удобная штука, но: не все среды поддерживают свернуть/развернуть регионы и блоки есть масса сред в наше время, которые поддерживают максимум подсветку синтаксиса и никакой навигации через Ctrl+Click и тому подобных удобств и если логический блок не умещается на экран целиком, то есть смысл его вынести в функцию, тогда код читать легче, но нужно не забывать что имя этой функции должно в двух словах полностью отражать то что она делает если функцию кто-то назвал незамысловато - Checking(), то хочется отбить ему руки... чекинг чего или кого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 15:31 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001ну вот примитивный пример: при нажатии на кнопку проведения документа выполняется ряд проверок: 1.наличие прав (10 строк) 2.правильность заполнения документа (100 строк) 3.еще что-то, что сложно объединить по какой-то тематике(50 строк) или при нажатии на кнопку "проверить что-то там..." выполняется: 1.проверка настроек(3 строки) 2.проверка прав (5 строк) 3.еще что-то проверяется (10 строк) 4.выводится сообщение о результатах проверки (вариантов сообщений много, все зависит от результатов проверок) в 1м случае можнно сделать 3 функции для каждого из пунктов Проверить права Проверить правильность Дополнительные проверки а во 2м случае можно: 1.оставить весь код внутри кнопки 2.создать функцию которая все проверит и что-то вернет, результат будет проверен в кнопке и выведено сообщение 3.создать функцию которая все проверит и что-то вернет, создать функцию которая получит результат проверки, сформирует и выведет строку сообщения и еще множество вариаций может быть... какие варианты нравятся и почему? при нажатии на кнопку запускается функция ОбработкаНажатияНаКнопку тело функции - преимущественно вызов другой функции МодульN_ПроверкаЧегоТоТам (этот МодульN содержит еще много функций) А вот тело последней - или простыня, или набор вызовов более мелких функций, если есть надобность их вызывать еще где-то. Искусство структурирования состоит в том, чтобы свести "уникальные" простыни кода к более "абстрактным" функциям. Если все функции "уникальны" (вызываются один раз) - то это те же яйца что и простыня, только в профиль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 15:43 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Расскажите, на каком основании вы принимаете решение поместить какой-то код в функцию/процедуру? На основании собственного решения. Помещаете ли вы код в функцию/процедуру при каких-то обстоятельствах, не смотря на то, что он вызывается только один раз? Да. Если да, то в каких случаях? Если принял такое решение. :-) На самом деле вопрос о том, когда надо выделять функцию, а когда не надо, очень сложен. Я бы сказал, что умение правильно делать это является одним из краеугольных навыков хорошего программиста. И тут далеко не всё сводится к каким-то формальным показателям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 16:55 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Щас вот-вот сюда заглянет настоящий ТруЪ-функциональщик. Он всех смешает с навозом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:08 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, шутки-шутками, но вопрос действительно сложный, и самое сложное в нем - субъективность. именно по этой причине я его и задал вот кагбэ и хочется услышать мнения и предпочтения мне периодически приходится спорить с человеком, который очень любит функции - делает функцию1, которая вызывает функцию2 из функции3 и вся разница между вызовами в том, что функция2 выводит единственное сообщение на основании результатов функции1 и в качестве своего результата транслирует результат функции1 в вызывавшую ее функцию3 итого имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. я бы вызвал функцию1() из функции3(), там же вывел сообщение и на этом все вообще программирование по большому счету субъективно... если стоит задача заменить лампочку, один программер сделает это встав на стул, другой на стол, третий возьмет стремянку, а четвертый позовет соседа 2х метрового роста и тот вкрутит ламбу без всяких вспомогательных средств задача выполнена успешно - лампочка снова горит. кто из них прав? дальше уже начинается религия: один считает, что лампочку нужно менять исключительно с использованием стремянки, потому что это специальный инструмент, предназначенный для того чтобы достать "недоставаемое" а другой будет утверждать что стремянку надо покупать и не у каждого она есть, а стул есть везде третий скажет что со стула можешь и не достать, а со стола наверняка! четвертый пошлет всех нафиг и будет продолжать пользоваться услугами соседей вот как-то так :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:33 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Даже если мы возьмем конкретный кейс то у двух разрабов будут разные взгляды как реализовать вызовы функций но не потому что один из них прав а другой не прав а просто один решает "текущую задачу" а другой "смотрит в перспективу" проекта. Второй видит дальше. Вот и попробуйте формализовать оба подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:40 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001хочется услышать мнения и предпочтения А чем они Вам помогут? Cоберёте статистику типа 38% за, 62% против, и что с ней будете делать? TJ001мне периодически приходится спорить с человеком, который очень любит Хм. Есть такой неформальный, но очень удобный критерий - отдельным объектом (функцией) стоит делать то, чему легко дать осмысленное имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:54 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
softwarerчто с ней будете делать? возможно придти к выводу что я ошибаюсь и исправиться или наоборот, укрепить свое убеждение :) softwarerЕсть такой неформальный, но очень удобный критерий - отдельным объектом (функцией) стоит делать то, чему легко дать осмысленное имя. безусловно! :) но бывает так, что из куска кода нужно сделать функцию ибо он будет вызываться из надцати мест, но никак не можешь дать ему адекватное имя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:05 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001но бывает так, что из куска кода нужно сделать функцию ибо он будет вызываться из надцати мест, но никак не можешь дать ему адекватное имя Не уверен. Имхо такие случаи означают "надо сдизайнить код по-другому, получше". Возможно, из этого куска кода надо сделать две-три функции, или, например, включить его в базовый класс, кастомизируемый в наследниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:07 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
У меня чаще возникали обратны задачи. Детектировать антипаттерн дублирующийся код в месиве функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:08 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001мне периодически приходится спорить с человеком, который очень любит функции - делает функцию1, которая вызывает функцию2 из функции3 и вся разница между вызовами в том, что функция2 выводит единственное сообщение на основании результатов функции1 и в качестве своего результата транслирует результат функции1 в вызывавшую ее функцию3 итого имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. я бы вызвал функцию1() из функции3(), там же вывел сообщение и на этом все :) ну и что - а если это заготовки и потом функция2 и функция3 будут дописываться много и разно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:09 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
kmawОснование - если несколько раз вызывается. Если один раз - не помещаю если есть вероятность повторного использования, логически обособленного. но тут допустим - позже выяснилось, что во втором варианте использования чуть изменились условия, и нужно - почти такое же. Вносить это в логику, или клонировать процедуру? Вот этический вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:25 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
ну и да - если приходится делать клон процедурки, она пилится на логические куски, и два клона собираются из отдельных кубичков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:26 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
устранишь бывает все дубли. А система хрупкой получится. При внесении изменений в низкоуровневую процедурку неизвестно сколько высокоуровневых пострадают. Иногда "все свое ношу с собой" - тоже хорошо. дублирование кода - не абсолютное, а относительное зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:30 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Для ассемблера развертывание цикла (по сути дублирование тела) это даже благо. В некоторых условиях. Инлайнинг функций тоже иногда полезен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:33 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001если стоит задача заменить лампочку, один программер ...проблема аппаратная, программно не решается, при чём тут программер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:35 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
softwarerТак вот, важно понимать следующее: программируя, мы формулируем решение задачи на некотором языке. Определяя подпрограмму - мы определяем новое слово (понятие, термин) на этом языке. Это и есть ответ на Ваш вопрос: подпрограмма выделяется тогда, когда удобно и разумно определить некий термин. Он может переиспользоваться (ну скажем, как в математике понятие интеграла - позволяет не повторять прорву слов каждый раз), но в принципе не обязан (как в той же математике - чтобы доказать эту теорему, давайте докажем парочку лемм). Важно то, что решение задачи удобно сформулировать с использованием этого нового термина. //чисто занудства ради - конструктивное решение задачи на некотором языке. угу. А более подробно, с объяснением причин выделения подпрограмм, растолковал Майерс в шестой главе Надежности программного обеспечения (перевод издан в районе 1980 года). Если не удастся найти всю монографию можно посмотреть отдельную 6 главу. // http://www.realcoding.net/articles/maiers-kompozitsionnoe-proektirovanie-prilozheniya.html сорри, это плохая версия с моим переводом это оригинальный перевод Кауфмана от 1981 года http://agp1.hx0.ru/arts/G.Myers.pdf ///update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:55 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
ибо решение от противного не подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:56 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
maytonДля ассемблера развертывание цикла (по сути дублирование тела) это даже благо. В некоторых условиях. Инлайнинг функций тоже иногда полезен. Допускаю, что выросло целое поколение не очень задумывающееся о накладных расходах вызова и передачи-возврата параметров. А для наглядности кода были есть и будут ещё макросы дублирующие код как издержки или как благо в зависимости от контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:56 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
причем, согласно Майерса, этика программирования тут не причем. В крайнем случае настолько причем, насколько причем к этике программирования процедура нормализации схемы бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:58 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
softwarerИмхо такие случаи означают "надо сдизайнить код по-другому, получше". Возможно, из этого куска кода надо сделать две-три функции, или, например, включить его в базовый класс, кастомизируемый в наследниках. от части согласен, но я имел ввиду ситуации, когда двумя словами не описать, требуется штук пять без "И" т.е. имя не этоИвотЭтоИвонТо))))) а что-то типа ПроверкаСереневенькогоСПодвыподвертомНабекрень() уже получается мутант какой-то)))) AlexandrPlusну и что - а если это заготовки и потом функция2 и функция3 будут дописываться много и разно? ну, в конкретном случае это были не заготовки, код просуществовал в таком виде несколько лет и по сей день даже не представляется с какой целью можно было бы его расширить да, бывают случаи кога пишешь на перспективу, потому что знаешь или ввиду опыта предполагаешь что вот-вот придется туду что-то вкрутить, пользователи наверняка после запуска нового проекта захотят еще один бантик, тогда -да, написал все так, чтобы через полгодика добавить пару строк и вуаля! egorychпроблема аппаратная, программно не решается, при чём тут программер? действительно))))) pureproftДопускаю, что выросло целое поколение не очень задумывающееся о накладных расходах вызова и передачи-возврата параметров. ооо, это вообще отдельный и больной вопрос в наше время! ресурсы считать уже не модно... что? у тебя программа тормозит? - купи новый комп! а что она такого делает, чего не делали 10 лет назад? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 20:24 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovkmawОснование - если несколько раз вызывается. Если один раз - не помещаю если есть вероятность повторного использования, логически обособленного. но тут допустим - позже выяснилось, что во втором варианте использования чуть изменились условия, и нужно - почти такое же. Вносить это в логику, или клонировать процедуру? Вот этический вопрос. если есть вероятность - значит она объективно есть. и это уже не вероятность а требование задачи. тогда, конечно, лучше оформить функцией. в противном случае - функция на "прозапас" - дело вкуса. что касается "почти" одинакового кода - это, пожалуй, проблема. она значит, что скорее всего, на момент написания кода нет ясного понимания сути задачи, в голове все еще по полочкам не разложено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 20:33 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
pureproftДопускаю, что выросло целое поколение не очень задумывающееся о накладных расходах вызова и передачи-возврата параметров. А для наглядности кода были есть и будут ещё макросы дублирующие код как издержки или как благо в зависимости от контекста. Я смутно подозреваю, что там, где используется выделение "логически завершённого блока" в отдельную процедуру, время выполнения команды PUSH пренебрежимо мало по сравнению со времени ожидания движения мыши. PS Кто посмел зарегистрировать мой любимый ник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 23:26 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
maytonДля ассемблера развертывание цикла (по сути дублирование тела) это даже благо. В некоторых условиях. Инлайнинг функций тоже иногда полезен. ....... Такое же творческое решение как и уровень нормализации БД. По сути - схожие проблемы, и схожая логика развертывания смыслов при принятии решения. Ну и ==вселенский бардак== как неотъемлимая часть жизни.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 09:27 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
kmawчто касается "почти" одинакового кода - это, пожалуй, проблема. она значит, что скорее всего, на момент написания кода нет ясного понимания сути задачи, в голове у заказчика, центробанка, правительства РФ и тд все еще по полочкам не разложено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 09:42 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
TJ001Расскажите, на каком основании вы принимаете решение поместить какой-то код в функцию/процедуру? Помещаете ли вы код в функцию/процедуру при каких-то обстоятельствах, не смотря на то, что он вызывается только один раз? Если да, то в каких случаях? Как завещал нам великий Ленин Чёрч: все есть функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 14:22 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
maytonЩас вот-вот сюда заглянет настоящий ТруЪ-функциональщик. Он всех смешает с навозом.да, ТруЪ-функциональщики они такие... хорошо что я джавист )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 14:25 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
maytonДля ассемблера развертывание цикла (по сути дублирование тела) это даже благо. В некоторых условиях. Инлайнинг функций тоже иногда полезен. ну и про хвостовой вызов не забываем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 14:27 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNTJ001Расскажите, на каком основании вы принимаете решение поместить какой-то код в функцию/процедуру? Помещаете ли вы код в функцию/процедуру при каких-то обстоятельствах, не смотря на то, что он вызывается только один раз? Если да, то в каких случаях? Как завещал нам великий Ленин Чёрч: все есть функция. Я вспоминаю один роман Набокова в котором главный герой решил что все люди есть суть - шахматы и решил прервать игру сиганув в окошко. Вот такие делы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 15:49 |
|
||
|
Этика программирования: Что может являться основанием для создания функции/процедуры?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonЩас вот-вот сюда заглянет настоящий ТруЪ-функциональщик. Он всех смешает с навозом.да, ТруЪ-функциональщики они такие... хорошо что я джавист )) Хехе. Джавист из города Киерка? Это что уже стольный град переименовали. А я не вкурсе! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 15:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341851]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
188ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 485ms |

| 0 / 0 |
