Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Цифры в конце названия переменных 
:(
    Опции темы
 
Цифры в конце названия переменных
зло [ 7 ]  [25.93%]
иногда можно, напишу когда [ 17 ]  [62.96%]
всегда так пишу [ 3 ]  [11.11%]
Всего проголосовавших: 27
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
mes
Дата 20.3.2011, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(mimik @  20.3.2011,  14:17 Найти цитируемый пост)
left, right

(left, right),  (lhs, rhs) , (a1,a2), (first,second), (_1, _2) 
являются в данном случае абсолютно равно осмысленными и зависят от вкуса разботчика.
но при количестве аргументов три и более, цифры вытесняют своих конкурентов..

Цитата(mimik @  20.3.2011,  14:17 Найти цитируемый пост)
ну можно поставить const, или как там 

1. массив, переданный как константное имя,  не равнозначен, переданному по значению.. 
2. чтоб передать массив его надо "собрать", а это уже лишние строчки..
3. не всегда переменные с одним именем, являются одного и того же типа..

Цитата(mes @  20.3.2011,  14:21 Найти цитируемый пост)
 с одним именем

имеется ввиду корень слова без цифрового/буквенного аффикса..

Цитата(mimik @  20.3.2011,  14:17 Найти цитируемый пост)
1. тут сложней сделать ошибку

зачастую, наоборот, легче.. ибо отнимает силы программиста на длинное чтение и  восстановление ассоциации.. 
цифры как ассоциативный ряд намного более наглядны.. 

Это сообщение отредактировал(а) mes - 20.3.2011, 15:30


--------------------
PM MAIL WWW   Вверх
LSD
Дата 22.3.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(mimik @  20.3.2011,  15:17 Найти цитируемый пост)
function swap(left, right)

А почему левый-правый, а не верхний-нижний?


--------------------
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.
PM MAIL WWW   Вверх
mimik
Дата 23.3.2011, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(mes @  20.3.2011,  15:21 Найти цитируемый пост)
(left, right),  (lhs, rhs) , (a1,a2), (first,second), (_1, _2) являются в данном случае абсолютно равно осмысленными и зависят от вкуса разботчика.

имхо, не совсем
Цитата(LSD @  22.3.2011,  15:35 Найти цитируемый пост)
А почему левый-правый, а не верхний-нижний?

ну, левый операнд и правый операнд
в некоторых ЯП можно так
Код

a, b = b, a

Цитата(mes @  20.3.2011,  15:21 Найти цитируемый пост)
чтоб передать массив его надо "собрать", а это уже лишние строчки..

это в c++ так, в некоторых ЯП можно так
Код

func([1, 2, 3])

Цитата(mes @  20.3.2011,  15:21 Найти цитируемый пост)
зачастую, наоборот, легче.. ибо отнимает силы программиста на длинное чтение и  восстановление ассоциации.. 

вот мне недавно надо было добавить новый функционал в чужой код, так так вместо массива используется ассоциативный ряд, код на 2000 строк и с фнукциями с 40 параметрами,
мне сказали что вначале были 3 переменные, потом добавили ещё 2, а потом ещё 35  smile , код надо было написать быстро  и некогда было вникать в функионал, поэтому они просто копипастили,
сейчас, с массивом, этот код занимает где-то 200 строк

PM   Вверх
LSD
Дата 23.3.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(mimik @  23.3.2011,  12:54 Найти цитируемый пост)
ну, левый операнд и правый операнд

Ну первый операнд, второй операнд smile , 
Так отчего бы их и не пронумеровать?


--------------------
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.
PM MAIL WWW   Вверх
mimik
Дата 23.3.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(LSD @  23.3.2011,  13:13 Найти цитируемый пост)
Так отчего бы их и не пронумеровать?

если есть такая функция
Код

function swap(left, right)
{}

и надо будет добавить параметр, то тут код заставляет подумать о рефакторинге

а если
Код

function swap(param1, param2)
{}

то можно добавить новый парметр, а потом ещё, и ещё
потому что такой код изначально не требует напрягаться для написания

Это сообщение отредактировал(а) mimik - 23.3.2011, 13:25
PM   Вверх
LSD
Дата 23.3.2011, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



swap() с тремя параметрами? smile  smile 


--------------------
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.
PM MAIL WWW   Вверх
mes
Дата 23.3.2011, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(mimik @  23.3.2011,  11:54 Найти цитируемый пост)
вот мне недавно надо было добавить новый функционал в чужой код, так так вместо массива используется ассоциативный ряд, код на 2000 строк и с фнукциями с 40 параметрами,
мне сказали что вначале были 3 переменные, потом добавили ещё 2, а потом ещё 35   , код надо было написать быстро  и некогда было вникать в функионал, поэтому они просто копипастили,
сейчас, с массивом, этот код занимает где-то 200 строк

 smile к чему сказано то это ?!
имелось ввиду, что для человека легче для восприятия :
Код

bind(f,  _7, _6, _5, _4, _2, _3, _1 )

чем
Код

bind(f, седьмой, шестой, пятый, четвертый, второй, третий, первый);

где вперед заметили и легче выявили не стыковку ?

Цитата(mimik @  23.3.2011,  11:54 Найти цитируемый пост)
это в c++ так, в некоторых ЯП можно так
Код

func([1, 2, 3])

"собрать" это не "создать массив"
прежде всего массив создан из будет копий, а это не всегда  является желаемым поведением.. 
одного этого достаточно, чтоб не вспоминать остальные нюансы...

Цитата(mimik @  23.3.2011,  12:23 Найти цитируемый пост)
тут код заставляет подумать о рефакторинге

ну заставляет.. поняли что все таки нужно 4ре одинаковых параметра.. как их теперь называть ?

Добавлено @ 16:00
Цитата(LSD @  23.3.2011,  14:56 Найти цитируемый пост)
swap() с тремя параметрами?

ну так речь же не о самом swape...

Добавлено @ 16:03
П.С. то что названия нужно изначально стараться подбирать наиболее эффективные и удобные, я не спорю..
я лишь говорю, что ситуации, когда именно цифровые аффиксы являются наиболее подходящими, не редки.. и не вижу ни одного повода не использовать их в таких случаях..

Добавлено через 11 минут и 31 секунду
кстати если бы я писал swap то с большой вероятностью назвал бы аргументы не (left, right),(lhs,rhs) - которые больше подходит для операторов, а (a,b) потому что на мой взгляд наиболее точно передают семантику и не добавляют лишнего мусора..
но a,b является по сути ничем не отличается от _1 _2.. последние бы не использовал (касается только (c++)), из за их "зарезервированного" смысла, как плейсхолдеры..






Это сообщение отредактировал(а) mes - 23.3.2011, 16:04


--------------------
PM MAIL WWW   Вверх
mimik
Дата 23.3.2011, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(LSD @  23.3.2011,  15:56 Найти цитируемый пост)
swap() с тремя параметрами?

ну да
Код

temp = a;
a = b;
b = c;
c = temp;

Цитата(mes @  23.3.2011,  15:59 Найти цитируемый пост)
где вперед заметили и легче выявили не стыковку ?

да, это тоже не айс, но я и не предлагаю такой вариант, возможно там логичней будет массив или структура

Цитата(mes @  23.3.2011,  15:59 Найти цитируемый пост)
прежде всего массив создан из будет копий

массив/структура будет занимать примерно столько же памяти сколько и параметры функции, не?

Цитата(mes @  23.3.2011,  15:59 Найти цитируемый пост)
ну заставляет.. поняли что все таки нужно 4ре одинаковых параметра.. как их теперь называть ?

зависит, моно массивом, можно хэшмэп, можно классом

PM   Вверх
mes
Дата 23.3.2011, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(mimik @  23.3.2011,  15:11 Найти цитируемый пост)
массив/структура будет занимать примерно столько же памяти сколько и параметры функции, не?

дело не в памяти, а в смысле, который вкладывается в решение.. 



--------------------
PM MAIL WWW   Вверх
mimik
Дата 23.3.2011, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(mes @  23.3.2011,  16:12 Найти цитируемый пост)
дело не в памяти, а в смысле, который вкладывается в решение.. 

Цитата(mes @  20.3.2011,  15:21 Найти цитируемый пост)
цифры как ассоциативный ряд намного более наглядны

имхо, если в коде используется ассоциативный ряд, это один из поводов для того отрефакторить код, заменить ряд на массив/хэш/структуру/класс

имхо, если в каком-то ЯП не принято/оптимально/возможно использовать какой-то подход, это не означает что подход плохой,
в Lisp например, всё есть список smile
а в Java насколько я помню, функцию swap вообще написать не возможно, т.к. нельзя передать параметр по ссылке
PM   Вверх
LSD
Дата 23.3.2011, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(mimik @  23.3.2011,  16:11 Найти цитируемый пост)
ну да

Это уже простите не swap() а shift() smile 

А вообще мысль состоит в том, что иногда (не часто) функция принимает фиксированное количество параметров (потому неудобны массивы) которые семантически различаются только порядком в котором они переданы в функцию. Например 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.
PM MAIL WWW   Вверх
k0rvin
Дата 23.3.2011, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(mimik @ 23.3.2011,  16:33)
в Lisp например, всё есть список smile

нет


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
mimik
Дата 23.3.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(k0rvin @  23.3.2011,  18:34 Найти цитируемый пост)
нет

http://ru.wikipedia.org/wiki/Lisp
Цитата

Все выражения записываются в виде списков — одной из основных структур Лиспа

я это хотел сказать


PM   Вверх
k0rvin
Дата 23.3.2011, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(mimik @ 23.3.2011,  20:50)
Цитата(k0rvin @  23.3.2011,  18:34 Найти цитируемый пост)
нет

http://ru.wikipedia.org/wiki/Lisp
Цитата

Все выражения записываются в виде списков — одной из основных структур Лиспа

я это хотел сказать

тогда почему не сказал?

и таки не все.

123
123.4
123.4+5i
#\a
"abc"
x
|xyz|

и др.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
mimik
Дата 23.3.2011, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(k0rvin @  23.3.2011,  21:21 Найти цитируемый пост)
123

это литерал  smile 
Цитата(k0rvin @  23.3.2011,  21:21 Найти цитируемый пост)
и др.

скобки, запятая, плюс это всё выражения, ага, щас


PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.