|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 а что вы с ним делаете, когда он в двух местах одинаковый? правите оба места? а когда в трёх? Само по себе дублирование кода еще не является анти-паттерном. Дублирование (инлайнинг), loop unrolling используется ассемблером и компилляторами как один из способов оптимизации. Другое дело что как человек (программист) это видит и как он этим процессом управляет. Некоторые сишники очень любят использовать многострочные define которые по сути мультиплицируют код. Как видите. Вопрос восприятия. Но нельзя быть буквоедом и бюрократом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 21:23 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 как это обособленные? Остальной код может зависеть от функции, но функция не должна зависеть от остального кода. И изменения в остальном коде не должны влечь за собой изменения в функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 21:27 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
mayton, ну какая разница, что там компиляторы лепят. Ты ещё ООП сюда притащи и расскажи, какой он неправильный с т.з. компилятора, потому что он его обратно в простые ф-и переделывает. Речь всегда идёт о человеке vs компьютер, чтобы ограниченному в возможностях человеку было легко код сопровождать. Сишники сами себе злобные буратины - ООПа у них нет, шаблонов нет, концептов тоже не будет... у них своя атмосфэра. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:01 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
fkthat Алексей Роза 2020 как это обособленные? Остальной код может зависеть от функции, но функция не должна зависеть от остального кода. И изменения в остальном коде не должны влечь за собой изменения в функции. в вашем случае надо будет уточнять "в какой ИЗ ф-й не должны влечь?" А если одна ф-я не зависит, то и другая не будет зависеть - зачем это вообще тут? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:04 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton, ну какая разница, что там компиляторы лепят. Ты ещё ООП сюда притащи и расскажи, какой он неправильный с т.з. компилятора, потому что он его обратно в простые ф-и переделывает. Речь всегда идёт о человеке vs компьютер, чтобы ограниченному в возможностях человеку было легко код сопровождать. Хорошо. Вот тебе следующая парадигма. Переменая - это плохо. Она меняется. Это создает трудности в сопровождении. И человеку трудно сопровождать код с переменными. Надо их срочно убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:06 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
переменная = ячейка памяти, mayton, куда ты её собрался убирать тебе обязательно это писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:09 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 переменная = ячейка памяти, mayton, куда ты её собрался убирать тебе обязательно это писать? в программировании - всё ячейка памяти. А специфически переменная - потому так и названа, что является местом хранения изменяемого состояния, потенциально глобального. Конечно, это и сопровождать трудно, и правильно заставить работать почти невозможно, mayton прав. Сказать "у меня есть переменная" тождественно равно утверждению "я знаю как присвоить ей значение, для этого у меня оператор присвоения". В функциональном программировании переменных нет, потому что нет оператора присвоения значения. Вот туда её и убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:38 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 переменная = ячейка памяти, mayton, куда ты её собрался убирать тебе обязательно это писать? Про ФП слыхал? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 22:55 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
booby А специфически переменная - потому так и названа, что является местом хранения изменяемого состояния, потенциально глобального. Конечно, это и сопровождать трудно, и правильно заставить работать почти невозможно Трудно сопровождать переменные? Невозможно правильно заставить работать переменные? Ну тогда работайте с адресами памяти напрямую, там же всё просто. Переменная нужна людям , потому что люди НЕ компьютеры. Ребят, зачем вы меня троллите, что я вам сделал ( booby В функциональном программировании переменных нет, потому что нет оператора присвоения значения. Вот туда её и убрать. И это нам поможет быстрее сопровождать код, да? А ещё победит дублирование функций... Вы математику хотите скрестить с программированием? Нравятся их a, b, c переменные, или f(x), или как они одно и тоже дублируют снова и снова? Вот мне НЕ нравится, поэтому я в другую сторону плыву, а вы зачем это всё сюда притащили, когда мы от дублей пытаемся уйти? Переменные им уже не нравятся... mayton Про ФП слыхал? Да. Где-то в универе лет 20 назад. Слава богу пронесло. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:08 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Про ФП слыхал? Да. Где-то в универе лет 20 назад. Слава богу пронесло. Почему так печально? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:15 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, считается, что прикладным программистам не положено работать с адресами памяти напрямую. Они обязаны в этом ничего не понимать. А за любую попытку понять и попробовать - должны наказываться. Вот и все программирование. Хоть какое. Про математику - вот этот вопрос тоже занимательный. Понимать в ней программисту, судя по организации некоторых языков, тоже крайне нежелательно. Иначе могут возникать досадные вопросы - сорта, а почему это язык программирования не требует определения оператора >= способом, согласованным с определением оператора <. В самом благосклонном случае получишь ответ - сделай себе сам, раз такой умный. Практическому программированию оставляется возможность соотноситься с математикой, как киевскому дядьке с огородной бузиной. Поэтому, пользуешься ты оператором присвоения, или нет, существенного значения, в конечном итоге, не имеет. ФП - это "французский" подход к программированию. Не столько даже в части положенной внутрь математики, сколько в части секретного, сакрального, максимально зашифрованного для непосвященного входа узкую секту приобщенных. Где за разглашение того, как работает монада, полагается такое же наказание, как за разглашение факта иррациональности корня из двух. Императивное программирование - это "английский" подход. Вот тебе в руки оператор присвоения, а дальше разлюли-малина, фигом по деревне. Главное, - ты абсолютно свободен, и секретов никаких нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:30 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
mayton Алексей Роза 2020 пропущено... Да. Где-то в универе лет 20 назад. Слава богу пронесло. Почему так печально? Да а толку от него, оно что-то упрощает? Ускоряет сопровождение? В обоих вариантах программирование уже в тупике и довольно далеко от идеала. Если бы там можно было куда-то развиваться, но там в обоих случаях тупик. Из компьютера запросто выжимается его максимум через программирование в стандартном виде. А больше там расти некуда. booby, ты тот самый человек, который из простого сделает невероятно сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:39 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Ребят, зачем вы меня троллите, что я вам сделал Я думаю что никто не троллит. Я думаю что просто применен философский приём, и было предложено усилить тезис. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:42 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Да а толку от него, оно что-то упрощает? Ускоряет сопровождение? В обоих вариантах программирование уже в тупике и довольно далеко от идеала. Если бы там можно было куда-то развиваться, но там в обоих случаях тупик. Из компьютера запросто выжимается его максимум через программирование в стандартном виде. А больше там расти некуда. Там есть куда расти. Я тебе предлагаю подумать над следующими проблемами. 1) Доказать что мультипоточный код - безопасен. 2) Доказать что код не содержит ошибок. 3) Не содержит побочных эффектов (тоесть вызов функции класса не меняет состояние класса). 4) Доказать что алгоритм хоть когда нибудь остановится. Это всё проблемы которые были поставлены еще в 20-м веке. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 23:46 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
mayton Алексей Роза 2020 Ребят, зачем вы меня троллите, что я вам сделал Я думаю что никто не троллит. Я думаю что просто применен философский приём, и было предложено усилить тезис. мог же просто посмеяться, это же шутка mayton Там есть куда расти. Я тебе предлагаю подумать над следующими проблемами. да всё уже обдумано 10 раз. НЕКУДА. НИКАК ты эти проблемы не решишь с такой архитектурой процессора и компьютера. ТОЧКА. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 00:10 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
Ну, шутник. Когда будешь делать шашлык из этой невесты - не забудь пригласить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 01:12 |
|
Граница дублирования кода
|
|||
---|---|---|---|
#18+
mayton listtoview не, ну это понятно что дублирующийся код нужно выносить но например i+++ выносить думаю не стоит а где грраница когда надо а когда нет Мы тут недавно о микросервисах талдычили. Я несколько раз поднимал книжку Ньюмана. И откладывал. Нечетко там все. Зыбко. Но тут к месту цитата. Single Responsibility Principle. Собирайте вместе все, что изменится по одной и той-же причине, и разделяйте все, что изменится по разным причинам. Роберт Мартин Да, это то что я искал в моем коде есть некий объект дом, если алгоритм его поиска изменится, мне придется менять код в нескольких местах поэтому вынесу в отдельный метод ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 09:54 |
|
|
start [/forum/topic.php?fid=16&msg=40014064&tid=1339714]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
142ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 475ms |
0 / 0 |