Страница 6 из 6
Re: Арена
Добавлено: 21 июн 2011, 08:18
Hatber
Ну да... В любом случае все зависит от целей и объемов работы в целом... Если исходники всего-то в строчек 500-1000 то можно особо не запариваться с названиями переменных...
Re: Арена
Добавлено: 21 июн 2011, 08:55
Jolly Roger
Hatber писал(а):Ну да... В любом случае все зависит от целей и объемов работы в целом... Если исходники всего-то в строчек 500-1000 то можно особо не запариваться с названиями переменных...
Заморачиваться имеет смысл с точки зрения того, чтобы постоянно держать себя в тонусе и не расслабляться.
Re: Арена
Добавлено: 21 июн 2011, 09:31
Maelstrom
А тут я согласен. Неча над локальными переменными в маленьких функциях париться, пускай будут i, j, k
Re: Арена
Добавлено: 21 июн 2011, 09:35
Jesus05
а второй проект который в наследство достался (их тут у меня много унаследованных
) там все унифицировано до такой степени что внутри функций локальные переменные выполняющие одинаковые функции везде имеют одинаковые имена
очень удобно в нем исправления вносить.
Re: Арена
Добавлено: 21 июн 2011, 09:57
Hatber
В кратце... Стиль оформления кода зависит, в основном, от квалифицированности автора, но если я пишу что-то для себя например, зачастую работая с базами данных, вывел некоторые нормы, опять же для себя. И тут уже в том, что некоторым может показаться бредом, могу легко разобраться...
Re: Арена
Добавлено: 21 июн 2011, 11:08
Yozka
Неважно какой стиль, главное это придерживаться его в рамках проекта.
Если счетчики называешь i,j,k - то будь добр, везде так и называй.
Именна функций с
Заглавной_буквы_разделенные_землей то так везде и пиши.
Глобальные переменные, дак ставь префикс, любой, но лиж бы их отличить от локальных.
Комментарии - лучший код, это без комментариев. Но нужно иметь очень высокое просветление в программировании, чтобы писать код, который сам себя документирует. Комментарии уместны, когда в них раскрывается замысел кода. Но ни как не описывается работа кода. недопустимо делать что то вроде этого
Код: Выделить всё
{
int i = 0; //Обнулили переменную i
int k = 0; //Обнулили переменную k
i++; //Увеличили на еденицу переменную i
k-= i?1:2; //Если переменная i равна 0 то вычтем из переменной k 2 иначе 1
}
Re: Арена
Добавлено: 22 июн 2011, 04:33
Jesus05
Yozka писал(а):Неважно какой стиль, главное это придерживаться его в рамках проекта.
Если счетчики называешь i,j,k - то будь добр, везде так и называй.
Именна функций с
Заглавной_буквы_разделенные_землей то так везде и пиши.
Глобальные переменные, дак ставь префикс, любой, но лиж бы их отличить от локальных.
Комментарии - лучший код, это без комментариев. Но нужно иметь очень высокое просветление в программировании, чтобы писать код, который сам себя документирует. Комментарии уместны, когда в них раскрывается замысел кода. Но ни как не описывается работа кода. недопустимо делать что то вроде этого
Код: Выделить всё
{
int i = 0; //Обнулили переменную i
int k = 0; //Обнулили переменную k
i++; //Увеличили на еденицу переменную i
k-= i?1:2; //Если переменная i равна 0 то вычтем из переменной k 2 иначе 1
}
такие комментарии конечно не приемлемы, ибо совершенно не помогают его пониманию.
я вообще пишу обычно без комментариев т.к. в момент написания мне все понятно. (конечно если для себя пишу)
когда я искал способы писать с комментариями и не напрягать моск вопросами типа "что-бы тут написать".
я решил писать через псевдо код.
т.е. в первом варианте пишу в файле где будет код что-то типа
Код: Выделить всё
//Инициализаций переменных
//Сбор данных
//Берем данные их первого источника
//Берем данные из второго источника
//Обработка данных
//Сортировка
//Фильтрация
//Уборка мусора
потом между комментариев уже поселяется код. (часть комментариев "переезжает" в функции)
Код: Выделить всё
//Инициализаций переменных
char *Data[1024] = "";
//Сбор данных
TakeData(Data);
//Обработка данных
CalcData(Data);
//Уборка мусора
для себя я другого способа написания комментариев не нашел
Re: Арена
Добавлено: 22 июн 2011, 04:40
Maelstrom
Да, псевдокод рулит.
Re: Арена
Добавлено: 22 июн 2011, 07:18
kipar
Я пробовал юзать псевдокод (тем более его сам Макконнелл рекомендует), но понял что для более-менее нетривиальных задач структуру я изначально не знаю, узнаю ее уже в процессе написания.
Т.е. то что изначально казалось
Код: Выделить всё
//Инициализаций переменных
//Сбор данных
//Берем данные их первого источника
//Берем данные из второго источника
//Обработка данных
//Сортировка
//Фильтрация
//Уборка мусора
В конце будет выглядеть как-то так:
Код: Выделить всё
//Сбор данных1
//Уборка мусора1
//Инициализаций переменных1
[цикл]
//Инициализаций переменныхН+1
//Берем данные из первого источника
//Фильтрация
//Берем данные из второго источника
---//Обработка данных оказалась не нужна
//Сортировка
+++//А тут нужна модификация старых данных
//Сбор доп. данных
//Фильтрация
[конец цикла]
//Уборка мусора
В результате легче расставить комментарии когда все уже отлажено, чем переставлять их туда сюда при каждом добавлении. Хотя это недостаток не метода, а меня самого.
Re: Арена
Добавлено: 22 июн 2011, 07:21
Maelstrom
Вообще то псевдокод и предназначен для того, чтобы сначала описать структуру, общий вид, на человеческом языке, а потом уже готовый каркас переводить в машинный.
Re: Арена
Добавлено: 22 июн 2011, 08:06
kipar
Ну да, но когда начинаешь реализовывать эту структуру выясняются разные детали, насчет того что такие-то этапы на самом деле не нужны, а другие этапы надо выполнять в обратном порядке. Возможно, можно все эти детали учесть еще на этапе составления структуры, но у меня не удается
. Хотя для простых процедур, скажем чтения из файла, проблем нет... Но там и без псевдокода все ясно.
Re: Арена
Добавлено: 22 июн 2011, 08:30
Maelstrom
Есть детали, а есть мелочи. Инициализация переменных - второе.
Re: Арена
Добавлено: 22 авг 2012, 21:56
Феникc
Кстати, извиняюсь за некробамп, но опять таки, читая луркоморье, наткнулся на статью
http://lurkmore.to/Голодные_игры
Особенно порадовала эта фраза
Суть была крайне проста: малолетних дураков просто выпускали на огромную арену (каждый год разную), напичканную телекамерами, где они должны были убивать друг друга всеми доступными средствами. Последний выживший школьник объявлялся победителем и получал в течение всей своей плохой жизни ништяки вроде бесплатной еды.
Вот и вспомнил почему-то об этом несостоявшемся убийце АДОМа
Re: Арена
Добавлено: 23 авг 2013, 09:13
kipar
Да, Голодные Игры (во всяком случае первая часть) напрашиваются на рогалик. Скажем Рог Изобилия с кучей лута при старте, пчелы-убийцы или вызов помощи ограниченный заработанными "очками" - так и представляется что-то типа мода к Катаклизму.