Вопрос программистам. Как вы обозначаете свои переменные в программах: - Компьютерные вопросы

Вопрос Вопрос программистам. Как вы обозначаете свои переменные в программах:

Регистрация
16 Мар 2013
Сообщения
99
Репутация
0
Спасибо
0
Монет
0
Задача на нахождение среднего ариф. чисел.
Пишите
total = 0
for i in range(10):
num = int(input())
total = total + num
average = total / 10
print('Среднее значение равно', average)
ИЛИ КАК Я__________________________________________
a = 0
c = int(input())
for i in range(c):
b = int(input())
a = a + b
print(a / c)
????
Преподы на сайтах предлагают писать как в первом варианте. Как вы считаете?
 
Регистрация
22 Ноя 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
Если код в 5 строчек, ещё можно позволить себе использовать второй вариант, но когда ты начнёшь писать код большего объёма и более сложной логики, без осмысленного именования переменных и функций не обойтись. А также без комментариев. Иначе по прошествии времени ты сам не сможешь читать своё поделие, не то что другие люди. Идентификаторы вроде i и j всё же используются, но как локальные счётчики в циклах. Также, например, в питоне принято обозначать неважные локальные переменные символом "_". Так, например, для js-кода (исполняемого на стороне клиента, и передаваемого ему при прогрузке веб-страниц) использует обфускацию - переименование всех объектов и функций, а также "сжатие" кода в одну строку без переносов и табуляций, добавление бессмысленных элементов кода для усложнения его анализа. Не надо приучать себя писать "обфусцированный" код:)
 
Регистрация
21 Ноя 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Первый варант безоговорочно выигрывает. Если задача достаточно маленькая (учебная), или из контекста задачи и так понятно, о чем эти переменные - однобуквенные вполне допустимы. Но даже в таких случаях полезно придумывать хорошие названия для переменных, чтобы мозги к ним привыкли. Например, однобуквенными можно делать не только переменные, но и названия функций. Как будет удобнее?) a() b() c() d() или open_window() load_level(1) create_zombies() show_guns() Бывало, по полчаса думал и колебался, как назвать одну функцию) Названия должны быть такими, чтобы не приходилось вникать в весь код, чтобы понять, о чем он. Что делает этот код?)
u_6bf2e5fa046e8a968316e9193669ba69_800.png
 
Регистрация
29 Май 2013
Сообщения
71
Репутация
0
Спасибо
0
Монет
0
data = [int(input()) for _ in range(int(input()))] print(sum(data) / len(data)) Но если серьёзно, то параметр цикла можно обозначать однобуквенной переменной, но смысл всех прочих имён (будь то переменные или функции) должен быть понятен из их названия. Это называется "самодокументированный код". Переменные a, b, c затрудняют чтение кода. Если ты пишешь для себя - это не важно. Но если это коммерческий проект, в котором твой код будут многократно читать и модернизировать, это начинает играть существенное значение.
 
Регистрация
17 Авг 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Поскольку я обычно решаю несколько более комплексные задачи, чем приведенная выше, я даю переменным осмысленные названия. Однобуквенными у меня могут быть параметры каких-то простейших функций вроде string foo(string _s) или параметры циклов. С простенькими учебными примерчиками лично я не вижу смысла сильно заморачиваться, там и так все понятно. Но! Преподы по-своему правы, поскольку хотят привить юным падаванам хороший стиль именования переменных. И стоит их, наверное, все же слушаться.
 
Регистрация
7 Дек 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Если кто-то после тебя будет работать над программой, если ты будешь в этой области работать, то 1 вар. лучше, 2 вар. могут просто не понять. Я когда как обозначаю. В тестовых и простых прогах по 2 вар. Если посложнее - по 1 вар.
 
Регистрация
26 Сен 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
В длинных программах с десятками переменных надо обозначать понятными переменными. Преподаватели правильно рекомендуют. Есть еще прием - обозначать русскими словами, но в английском алфавите.
 
Сверху Снизу