Страница 6 из 6

Re: Арена

Добавлено: 21 июн 2011, 08:18
Hatber
Ну да... В любом случае все зависит от целей и объемов работы в целом... Если исходники всего-то в строчек 500-1000 то можно особо не запариваться с названиями переменных... 8)

Re: Арена

Добавлено: 21 июн 2011, 08:55
Jolly Roger
Hatber писал(а):Ну да... В любом случае все зависит от целей и объемов работы в целом... Если исходники всего-то в строчек 500-1000 то можно особо не запариваться с названиями переменных... 8)
Заморачиваться имеет смысл с точки зрения того, чтобы постоянно держать себя в тонусе и не расслабляться. :D

Re: Арена

Добавлено: 21 июн 2011, 09:31
Maelstrom
А тут я согласен. Неча над локальными переменными в маленьких функциях париться, пускай будут i, j, k

Re: Арена

Добавлено: 21 июн 2011, 09:35
Jesus05
а второй проект который в наследство достался (их тут у меня много унаследованных :) ) там все унифицировано до такой степени что внутри функций локальные переменные выполняющие одинаковые функции везде имеют одинаковые имена :) очень удобно в нем исправления вносить.

Re: Арена

Добавлено: 21 июн 2011, 09:57
Hatber
В кратце... Стиль оформления кода зависит, в основном, от квалифицированности автора, но если я пишу что-то для себя например, зачастую работая с базами данных, вывел некоторые нормы, опять же для себя. И тут уже в том, что некоторым может показаться бредом, могу легко разобраться... :oops:

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
Да, Голодные Игры (во всяком случае первая часть) напрашиваются на рогалик. Скажем Рог Изобилия с кучей лута при старте, пчелы-убийцы или вызов помощи ограниченный заработанными "очками" - так и представляется что-то типа мода к Катаклизму.