![]() |
|
Модераторы: LSD |
![]()
|
|
||
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
(left, right), (lhs, rhs) , (a1,a2), (first,second), (_1, _2) являются в данном случае абсолютно равно осмысленными и зависят от вкуса разботчика. но при количестве аргументов три и более, цифры вытесняют своих конкурентов.. 1. массив, переданный как константное имя, не равнозначен, переданному по значению.. 2. чтоб передать массив его надо "собрать", а это уже лишние строчки.. 3. не всегда переменные с одним именем, являются одного и того же типа.. имеется ввиду корень слова без цифрового/буквенного аффикса.. зачастую, наоборот, легче.. ибо отнимает силы программиста на длинное чтение и восстановление ассоциации.. цифры как ассоциативный ряд намного более наглядны.. Это сообщение отредактировал(а) mes - 20.3.2011, 15:30 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
А почему левый-правый, а не верхний-нижний? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| mimik |
|
||||||||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
имхо, не совсем ну, левый операнд и правый операнд в некоторых ЯП можно так
это в c++ так, в некоторых ЯП можно так
вот мне недавно надо было добавить новый функционал в чужой код, так так вместо массива используется ассоциативный ряд, код на 2000 строк и с фнукциями с 40 параметрами, мне сказали что вначале были 3 переменные, потом добавили ещё 2, а потом ещё 35 сейчас, с массивом, этот код занимает где-то 200 строк |
||||||||
|
|||||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Ну первый операнд, второй операнд Так отчего бы их и не пронумеровать? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| mimik |
|
||||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
если есть такая функция
и надо будет добавить параметр, то тут код заставляет подумать о рефакторинге а если
то можно добавить новый парметр, а потом ещё, и ещё потому что такой код изначально не требует напрягаться для написания Это сообщение отредактировал(а) mimik - 23.3.2011, 13:25 |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
swap() с тремя параметрами?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
имелось ввиду, что для человека легче для восприятия :
чем
где вперед заметили и легче выявили не стыковку ? "собрать" это не "создать массив" прежде всего массив создан из будет копий, а это не всегда является желаемым поведением.. одного этого достаточно, чтоб не вспоминать остальные нюансы... ну заставляет.. поняли что все таки нужно 4ре одинаковых параметра.. как их теперь называть ? Добавлено @ 16:00 ну так речь же не о самом swape... Добавлено @ 16:03 П.С. то что названия нужно изначально стараться подбирать наиболее эффективные и удобные, я не спорю.. я лишь говорю, что ситуации, когда именно цифровые аффиксы являются наиболее подходящими, не редки.. и не вижу ни одного повода не использовать их в таких случаях.. Добавлено через 11 минут и 31 секунду кстати если бы я писал swap то с большой вероятностью назвал бы аргументы не (left, right),(lhs,rhs) - которые больше подходит для операторов, а (a,b) потому что на мой взгляд наиболее точно передают семантику и не добавляют лишнего мусора.. но a,b является по сути ничем не отличается от _1 _2.. последние бы не использовал (касается только (c++)), из за их "зарезервированного" смысла, как плейсхолдеры.. Это сообщение отредактировал(а) mes - 23.3.2011, 16:04 |
||||
|
|||||
| mimik |
|
||||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
ну да
да, это тоже не айс, но я и не предлагаю такой вариант, возможно там логичней будет массив или структура массив/структура будет занимать примерно столько же памяти сколько и параметры функции, не?
зависит, моно массивом, можно хэшмэп, можно классом |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
| mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
имхо, если в коде используется ассоциативный ряд, это один из поводов для того отрефакторить код, заменить ряд на массив/хэш/структуру/класс имхо, если в каком-то ЯП не принято/оптимально/возможно использовать какой-то подход, это не означает что подход плохой, в Lisp например, всё есть список а в Java насколько я помню, функцию swap вообще написать не возможно, т.к. нельзя передать параметр по ссылке |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Это уже простите не swap() а shift() А вообще мысль состоит в том, что иногда (не часто) функция принимает фиксированное количество параметров (потому неудобны массивы) которые семантически различаются только порядком в котором они переданы в функцию. Например sum(a1, a2), нет никакой разницы между первым и вторым аргументом. Потому я не вижу принципиальной разницы между: left/right, first/second, a1/a2. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
нет -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
http://ru.wikipedia.org/wiki/Lisp
я это хотел сказать |
|||
|
||||
| k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
тогда почему не сказал? и таки не все. 123 123.4 123.4+5i #\a "abc" x |xyz| и др. -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
| mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
||||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |