Ужасный стиль программирования
От: Awaken Украина  
Дата: 28.02.03 12:11
Оценка: 7 (3) -4 :)
все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.
"сосунки"(с) же могут написать вот такое

  For intIndex = 1 To intCount
        strChar = Mid$(strNumber, intIndex, 1)
        ' skipped  
  Next
Re: Ужасный стиль программирования
От: TK Лес кывт.рф
Дата: 28.02.03 12:14
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>


Судя по коду — это не сосунки, а домохозяйки.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Ужасный стиль программирования
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 28.02.03 12:19
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.


[]

Лично меня больше раздражает, когда я вижу вот такое:



for(int i=0; i<10; i++)
 {
   for(int ii=i+1; ii<10; ii++)
    {
      for(int iii.....
    }
 }


От этих i, ii, iii в глазах рябит. Особенно когда они еще и внутри цикла где-то юзаются... Спрашивается — а чего мешало обозвать все это по порядку: i, j, k

З.Ы. Высказался, и как-то сразу полегчало на душе
Re[2]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 28.02.03 12:26
Оценка:
TK>Судя по коду — это не сосунки, а домохозяйки.

так ведь это, "каждая домохозяйка мечтает стать программистом"
Re: Ужасный стиль программирования
От: Кодт Россия  
Дата: 28.02.03 12:37
Оценка: 54 (9) :))) :))) :)
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

Я вам не скажу за всю Одессу, вся Одесса слишком велика.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>

Здесь избыточным является только упоминание о типах во всех переменных.
Изл. сокр. в назв. не обл-т пон-ие пгрм.

Вот такой код мне бы понравился.
  for index = 1 to count
    char = mid$(strNumber, index, 1)
    ' ...
  next

Все названия — по существу.

Один студент очень любил давать всем элементам имена вида i, ii, i123, f(), g(), hh()...
чем весьма напрягал препода. Тот однажды зажал его в подворотне и сказал, что не примет следующую лабу, если он не будет писать длинные мнемонические идентификаторы. Студент исправился:

int long_mnemonic_identifier_i,
    long_mnemonic_identifier_ii,
    long_mnemonic_identifier_i123;

void long_mnemonic_identifier_f();
char long_mnemonic_identifier_g();
bool long_mnemonic_identifier_hh();

Перекуём баги на фичи!
Re: Ужасный стиль программирования
От: peterbes Россия  
Дата: 28.02.03 12:43
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>


Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных процессах вообще писал ужасно, вместо x,y,z, писал ксиксипиомегагамма, да еще с подстрочными символами, так что не будем людей сосунками обзывать, вылетит не поймаешь. Относитесь к этому спокойно, особенно если этот человек писал для себя.
Re[2]: Ужасный стиль программирования
От: Andrij Украина  
Дата: 28.02.03 13:00
Оценка: +1
А если еслии имена переменных будут еще и осмысленными — тогда лугче будет вспомнить, щто там написано , через некоторое время

например

for(int row=0; row < 10; row++)
{
   for(int col= row; col < 10; col++)
    {
    }
}


— сразу наводит на конкретные мысли и ненадо весь код перерывать
... << RSDN@Home 1.0 beta 5 >>
make it simple as possible, but not simpler
Re[3]: Ужасный стиль программирования
От: Кодт Россия  
Дата: 28.02.03 13:13
Оценка:
Здравствуйте, Andrij, Вы писали:

A>А если еслии имена переменных будут еще и осмысленными — тогда лугче будет вспомнить, щто там написано , через некоторое время


А заодно избавляет от соблазна многократного использования одних и тех же переменных с разным смыслом:
int a;

// в роли индекса
for(a = 0; a < vec.size(); ++i) { ... }

...

// в роли элемента
for(int k = 0; k < vec.size(); ++k) { a = vec[k]; ... }

...

// в роли какого-то еще числа
a = (int) floor( exp(10) );

...

// что сейчас означает a ?


A>например

A>

A>for(int row=0; row < 10; row++)
A>{
A>   for(int col= row; col < 10; col++)
A>    {
A>    }
A>}

A>


Хотя лично меня конкретно пара row,col — просто бесит! Это ж каждый раз нужно вспоминать, что есть первый индекс, а что — второй.
Перекуём баги на фичи!
Re[2]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 28.02.03 13:18
Оценка: 3 (1)
К>Здесь избыточным является только упоминание о типах во всех переменных.
К>Изл. сокр. в назв. не обл-т пон-ие пгрм.

"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер
Re[2]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 28.02.03 13:21
Оценка:
P>Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных

так это ж физик а не программер. у них стиль мышления другой
Re[3]: Ужасный стиль программирования
От: Кодт Россия  
Дата: 28.02.03 13:28
Оценка:
Здравствуйте, Awaken, Вы писали:

A>"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер


Когда я вижу название интерфейса IFirst или класса CMain, я понимаю — не большие проекты этот человек собирал. (с) мое.

Так что всякое бывает, и в левую мышцу не попадают.
(А это уже — (с) Земфира).
Перекуём баги на фичи!
Re: Ужасный стиль программирования
От: ibnTeo Россия http://ibnteo.klava.org/
Дата: 28.02.03 14:52
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>


для одноэтажного и i сойдет, в других случаях можно и так:
XmlNodeList nodelistGroup=nodeGrouped.SelectNodes("group");
for(int indexGroup=0; indexGroup<nodelistGroup.Count; indexGroup++)
{
    XmlNode nodeGroup=nodelistGroup.Item(indexGroup);
    Console.WriteLite("{0}:",nodeGroup.InnerText);
    XmlNodeList nodelistItem=nodeGroup.SelectNodes("item");
    for(int indexItem=0; indexItem<nodelistItem.Count; indexItem++)
    {
        XmlNode nodeItem=nodelistItem.Item(indexItem);
        Console.WriteLite(" - {0}",nodeItem.InnerText);
    }
}

куски такого кода легко переносить в другое место, накладок не будет
Re: Ужасный стиль программирования
От: plague Россия 177230800
Дата: 28.02.03 17:36
Оценка:
Здравствуйте, Awaken, Вы писали:

Лучше, IMHO, иметь некоторы общий стиль программирования, т.е. правила, например:

здесь
и здесь
и здесь тоже

есть книга "Практика программирования" тов. Б.Кернигана и Р.Пайка, в которой это неплохо обсуждается (с примерами) здесь

низнаю какова "практика программирования" у Б.Кернигана
но вещи он говорит в книге дельные...

и о переменных индекса:
переменные индекса рекоммендует называть -> i,j,k...
указатели (временные, скажем в цикле) -> p,q...
строковые переменные (конечно временные) -> s,t...
и т.д.

тут скорее важно зачем Вам нужет "Хороший стиль" программирования...
скоррее важно найти правила программирования и придерживать их, такие чтоб было просто повторно использовать, править и просто читать код...
ведь если программировать, то ведь не для себя... и мочь разобраться в коде должен не только автор, IMHO...
ведь иногда взглянешь в код и... видишь UUE encoding, приглядишся — C code

P.S. хотя я иногда люблю на досуге написать мини программку, чтоб потом всех удивлять "как извратился"
Re[3]: Ужасный стиль программирования
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.02.03 18:46
Оценка:
Здравствуйте, Awaken, Вы писали:
A>так это ж физик а не программер. у них стиль мышления другой
Неправда.
... << RSDN@Home 1.0 beta 6 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Ужасный стиль программирования
От: Бабокин Дмитрий Россия  
Дата: 01.03.03 10:17
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных процессах вообще писал ужасно, вместо x,y,z, писал ксиксипиомегагамма, да еще с подстрочными символами, так что не будем людей сосунками обзывать, вылетит не поймаешь. Относитесь к этому спокойно, особенно если этот человек писал для себя.


Так это вообще модно! Если привыкнуть к этим кси, пси, гамма, тетта и т.д. вообще проникаешься красотой греческого алфавита
Одни преп с мехмата мгушного специально в некоторых задачах заставлял использовать вместо латинских букв греческие, особенно если в формулах получались немыслемые комбинации этих букв И в чём-то он прав
Re[3]: Ужасный стиль программирования
От: Кодт Россия  
Дата: 02.03.03 14:24
Оценка: :)))
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Так это вообще модно! Если привыкнуть к этим кси, пси, гамма, тетта и т.д. вообще проникаешься красотой греческого алфавита

БД>Одни преп с мехмата мгушного специально в некоторых задачах заставлял использовать вместо латинских букв греческие, особенно если в формулах получались немыслемые комбинации этих букв И в чём-то он прав

Ага! Легендарные обозначения "пи с домиком, пи с дужечкой" — для эпатирования субтильных барышень.
Перекуём баги на фичи!
Re: Ужасный стиль программирования
От: Slavva Украина  
Дата: 02.04.03 06:19
Оценка: 8 (3) +2
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>


Помойму как называть переменные личное дело каждого (желательно что бы они несли какуюто смысловую нагрузку , самому проще будет потом и придерживались некоторой рекомендуемой нотации ) . А плохой стиль на мой взгляд это не название переменных , а это выделение и неосвобождение памяти и прочего в этом роде , типа Винда за тобой уберет (открытые хандлы и д.р.) Писать в одну строчку ,писать избыточный код . Вот такое помоему это прлохой стиль программирования на мой взгляд , а так придераться кто как названиям , это помоему как то не актуально .
Re[2]: Ужасный стиль программирования
От: Ведмедь Россия  
Дата: 02.04.03 07:45
Оценка: +1
Здравствуйте, Slavva, Вы писали:

S>Здравствуйте, Awaken, Вы писали:



S>Помойму как называть переменные личное дело каждого (желательно что бы они несли какуюто смысловую нагрузку , самому проще будет потом и придерживались некоторой рекомендуемой нотации ) . А плохой стиль на мой взгляд это не название переменных , а это выделение и неосвобождение памяти и прочего в этом роде , типа Винда за тобой уберет (открытые хандлы и д.р.)

Это не плохой стиль, это ошибки в приложении. И к стилю это не относится.
Да пребудет с тобой Великий Джа
Re[3]: Ужасный стиль программирования
От: Slavva Украина  
Дата: 02.04.03 08:41
Оценка: 7 (1)
Здравствуйте, Ведмедь, Вы писали:

В>Здравствуйте, Slavva, Вы писали:


S>>Здравствуйте, Awaken, Вы писали:


В>

S>>Помойму как называть переменные личное дело каждого (желательно что бы они несли какуюто смысловую нагрузку , самому проще будет потом и придерживались некоторой рекомендуемой нотации ) . А плохой стиль на мой взгляд это не название переменных , а это выделение и неосвобождение памяти и прочего в этом роде , типа Винда за тобой уберет (открытые хандлы и д.р.)
В>Это не плохой стиль, это ошибки в приложении. И к стилю это не относится.

Это довольно спорный вопрос , эти ошибки могут и не всплыать (приложение работает нормально , только "иногда глючит") . И читать к примеру избыточный(структурно не оптимизированный) код , не совсем удобно. И поэтому я считаю , что название переменных это еще не так уж страшно , по сравнению с другими случаями "плохого стиля".А время затраченное на то что бы написать смысловое название переменной , окупится при отладке другим человеком приложения к примеру . Конечно в приведенном примере смысла особого расписываться на переменные нет , но есть же варианты и посложнее . Один был описан уже сдесь же , где такой подход впринципе оправдан .
Re[2]: Ужасный стиль программирования
От: Doc Россия http://andrey.moveax.ru
Дата: 02.04.03 09:15
Оценка:
Здравствуйте, Вы писали:

A>>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>>"сосунки"(с) же могут написать вот такое
А какой "профессионал" мог написать строки выше?
Понты это сэр.А фраза "настоящие программисты" — провокация.

S>Помойму как называть переменные личное дело каждого (желательно что бы они несли какуюто смысловую нагрузку , самому проще будет потом и придерживались некоторой рекомендуемой нотации ) . А плохой стиль на мой взгляд это не название переменных , а это выделение и неосвобождение памяти и прочего в этом роде , типа Винда за тобой уберет (открытые хандлы и д.р.) Писать в одну строчку ,писать избыточный код . Вот такое помоему это прлохой стиль программирования на мой взгляд , а так придераться кто как названиям , это помоему как то не актуально .


Согласен на все 100%. IMHO имена переменных вообще дело частное (если сорцы не под заказ или для public).

Ну не всегда удобны "стандартные" i,j,k для циклов. Простой перебор, нет вложенных — там пожайлуста.
Для перебора таблицы я скорее напишу col, row, Для перебра точек — x,y. итд
Возможны и более сложные имена в зависимости от ситуации.

А вообще писать имена надо так, чтобы они помогали читать код.
Re[3]: Ужасный стиль программирования
От: Аноним  
Дата: 09.04.03 09:41
Оценка: 3 (1) -1
Здравствуйте, Awaken, Вы писали:

К>Здесь избыточным является только упоминание о типах во всех переменных.

К>Изл. сокр. в назв. не обл-т пон-ие пгрм.

A>"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер


А я думая, что ты не учавствовал в большых проектах, где все члены команды должны понимать весь проект.
Re[4]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 09.04.03 10:05
Оценка: 13 (2)
Здравствуйте, <Аноним>, Вы писали:

А>А я думая, что ты не учавствовал в большых проектах, где все члены команды должны понимать весь проект.


Значит, недостаточно большой проект, если все члены команды должны понимать весь проект. В таких случаях без грамотной организации далеко не уйти. А грамотная организация включает в себя разделение большого проекта на небольшие. При этом каждой команде нужно знать лишь свой подпроект и интерфейсы взаимодействия с другими подпроектами.
... << RSDN@Home 1.0 beta 6a >>
Re[4]: Ужасный стиль программирования
От: КАА Россия  
Дата: 09.04.03 10:25
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Бабокин Дмитрий, Вы писали:


БД>Так это вообще модно! Если привыкнуть к этим кси, пси, гамма, тетта и т.д. вообще проникаешься красотой греческого алфавита

БД>Одни преп с мехмата мгушного специально в некоторых задачах заставлял использовать вместо латинских букв греческие, особенно если в формулах получались немыслемые комбинации этих букв И в чём-то он прав

К>Ага! Легендарные обозначения "пи с домиком, пи с дужечкой" — для эпатирования субтильных барышень.


А слабо внять лекциям по теории игр, где было 7(!) разных по смыслу иксов! :D))))
И конечено крышечки, точечки, черточки и прочее :=)))
Все будет Украина!
Re[4]: Ужасный стиль программирования
От: Ведмедь Россия  
Дата: 09.04.03 10:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Awaken, Вы писали:


К>Здесь избыточным является только упоминание о типах во всех переменных.

К>Изл. сокр. в назв. не обл-т пон-ие пгрм.

A>"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер


А>А я думая, что ты не учавствовал в большых проектах, где все члены команды должны понимать весь проект.


Вот как раз наоборот... меня тоде бесит циклы вида


for( int iCurrentPageLoopCounter = 0 ; iCurrentPageLoopCounter  < CurrentPageLoopCounterMax; iCurrentPageLoopCounter++ )
{
    DoFunction( some_collection[ iCurrentPageLoopCounter  ] );
}

вместо

for( int i = 0 ; i < page_count; i++ )
{
   DoFunction( some_collection[i] );
}


видно что i именно счетсчик цикла и ничего более. Зачем ей давать длинное название, когда каждый идиот поймет, что имется ввиду.
Да пребудет с тобой Великий Джа
Re: Ужасный стиль программирования
От: c-smile Канада http://terrainformatica.com
Дата: 09.04.03 20:34
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>



А что это лучше?

m_lpszWKotoroyEstEcheWsykiBukovkiKromeZero.
g_lpMySingeltonInstanceOfClassMySingelton.

и т.д.

Пойду в Puget Sound утоплюсь назло врагам.
Re[5]: Ужасный стиль программирования
От: PLUS Россия http://*.*
Дата: 09.04.03 21:53
Оценка: 3 (1) +1
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Значит, недостаточно большой проект, если все члены команды должны понимать весь проект. В таких случаях без грамотной организации далеко не уйти. А грамотная организация включает в себя разделение большого проекта на небольшие. При этом каждой команде нужно знать лишь свой подпроект и интерфейсы взаимодействия с другими подпроектами.


Прям в точку, сам хотел так написать. Если членам команды надо понимать весь код, значит либо они пишут все на НЕобъектноориентированном языке вроде бейсика или 1с-ки, либо большая текучка кадров. Для чего собсно умные дядьки изобрели инкапсуляцию?
__________________
PLUS, ICQ 138726397
---------------------
Re[6]: Ужасный стиль программирования
От: adb Россия  
Дата: 10.04.03 06:41
Оценка: 6 (2) -1
Здравствуйте, PLUS, Вы писали:

PLU>Здравствуйте, Михаил Можаев, Вы писали:


ММ>Значит, недостаточно большой проект, если все члены команды должны понимать весь проект. В таких случаях без грамотной организации далеко не уйти. А грамотная организация включает в себя разделение большого проекта на небольшие. При этом каждой команде нужно знать лишь свой подпроект и интерфейсы взаимодействия с другими подпроектами.


PLU>Прям в точку, сам хотел так написать. Если членам команды надо понимать весь код, значит либо они пишут все на НЕобъектноориентированном языке вроде бейсика или 1с-ки, либо большая текучка кадров. Для чего собсно умные дядьки изобрели инкапсуляцию?


Ну как вам сказать. А как быть с XP? А суппорт? Что потом делать с кодом команды, если команда вся внезапно исчезла?

P.S. Ярких пример проект MS Office, все участники которого ответствены за весь код сразу (миллионы строк). Причем там не отделяют Word от Excel или Access. Это всё один проект и каждый должен во всем разбиратся.
Re[5]: Ужасный стиль программирования
От: WolfHound  
Дата: 10.04.03 07:04
Оценка: :))
Здравствуйте, Ведмедь, Вы писали:

В>видно что i именно счетсчик цикла и ничего более. Зачем ей давать длинное название, когда каждый идиот поймет, что имется ввиду.

Не наверно чтобы каждый идиот не понял.
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 10.04.03 07:12
Оценка: 15 (2)
Здравствуйте, adb, Вы писали:

adb>Ну как вам сказать. А как быть с XP? А суппорт? Что потом делать с кодом команды, если команда вся внезапно исчезла?


Не скажу про XP, не практиковал. А вот саппорт как раз вполне укладывается. Получаем запрос на саппорт. Определяем проблемный модуль и передаем дело человеку, ответственному за этот модуль. Он в свою очередь может выделить подмодуль и т.д. А вот каждый раз копаться во всем проекте — довольно неэффективная практика.

Команда обычно не исчезает просто так. Но даже если и уйдет, то новой команде (или одной из существующих команд) потребуется не так уж много усилий на освоение модуля. По крайней мере, гораздо меньше, чем на поддержание в мозгу всего проекта...

adb>P.S. Ярких пример проект MS Office, все участники которого ответствены за весь код сразу (миллионы строк). Причем там не отделяют Word от Excel или Access. Это всё один проект и каждый должен во всем разбиратся.


Вот только на практике получается, что никто во всем не разбирается. Это в принципе нереально. Другое дело, что если приспичит, то разобраться сможет... Но, опять же, не во всем проекте, а в нужной его части.

И, кстати, откуда такая информация о MS Office?
... << RSDN@Home 1.0 beta 6a >>
Re[7]: Ужасный стиль программирования
От: Gena_Popov  
Дата: 10.04.03 07:25
Оценка: 3 (1)
adb>P.S. Ярких пример проект MS Office, все участники которого ответствены за весь код сразу (миллионы строк). Причем там не отделяют Word от Excel или Access. Это всё один проект и каждый должен во всем разбиратся.

На счет офиса ты сильно ошибаешься. Во-первых, например Exel и Word делали совершенно разные команды программистов (и это, кстати, хорошо можно видеть по объектной структуре приложений офиса). Во-вторых — для производства многих компонент офиса мелкософт подряжал сторонние фирмы. Ну и в третьих — количество ошибок в офисе таково, что его вообще не стоит рассматривать как проект, на который стоит равняться (особенно если учесть 20 миллиардные затраты на его производство, которые по карману только майкрософту).
Re[2]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 10.04.03 15:57
Оценка:
CS>Пойду в Puget Sound утоплюсь назло врагам.


ты в Сиэтле что ли? а где именно, Уж не в M$ ли?
в Пьюджет Саунде холодно сейчас, не советую
Re: Ужасный стиль программирования
От: Mamut Швеция http://dmitriid.com
Дата: 10.04.03 17:32
Оценка:
в тему...

являётся ли эта строчка плохим стилем



char *i = "Hello world";
while(fputc(i++, f) != EOF);


или лучше написать

char msg[] = "Hello world";
int i = 0;

while (msg[i])
{
   fputc(msg[i], fp);
   i++;
}


?


dmitriid.comGitHubLinkedIn
Re[2]: Ужасный стиль программирования
От: WolfHound  
Дата: 10.04.03 18:44
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>являётся ли эта строчка плохим стилем


хъ
Я бы написал так
char msg[] = "Hello world";

for(char* s=msg;*s;++s)
   fputc(*s, fp);

Хотя скорей всего завершающий ноль тоже надо записать в фаил
for(char* s=msg;;++s)
{
   fputc(*s, fp);
   if(!*s)break;
}

Но в любом случае это плохой стиль надо примерно так
fout<<msg;

Те использовать потоки ввода/вывода

ЗЫ Используй тег [ccode]
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 11.04.03 06:51
Оценка:
M>

M>char *i = "Hello world";
M>while(fputc(i++, f) != EOF);
M>


M>или лучше написать


M>
M>char msg[] = "Hello world";
M>int i = 0;

M>while (msg[i])
M>{
M>   fputc(msg[i], fp);
M>   i++;
M>}
M>


если бы я принимал интервью у программера то взял бы первого а не второго.
фиг с ними с идентификаторами но первая строчка демонстрирует понимание арифметики указателей.
вторая строчка не демонстрирует ничего.
на интервью по C++ часто дают подобные маленькие задачки типа "перевернуть текстовую строку"
Re[3]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 11.04.03 07:10
Оценка:
P>Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных процессах вообще >писал ужасно, вместо x,y,z, писал ксиксипиомегагамма, да еще с подстрочными символами, так что не будем людей

когда-то я писал математические программы на C , и переменные так и обзывал: theta, psi и т.д.
чтобы имена в программе соответствовали алгоритму описанному в книге.
специалист посмотрит код и ему будет все понятно, особенно если он не программист "испорченный" всякими нотациями
Re[3]: Ужасный стиль программирования
От: Mamut Швеция http://dmitriid.com
Дата: 11.04.03 09:00
Оценка:
Здравствуйте, Awaken, Вы писали:

A>если бы я принимал интервью у программера то взял бы первого а не второго.

A>фиг с ними с идентификаторами но первая строчка демонстрирует понимание арифметики указателей.
A>вторая строчка не демонстрирует ничего.
A>на интервью по C++ часто дают подобные маленькие задачки типа "перевернуть текстовую строку"


гы... второй пример взят из хелпа Борланда


dmitriid.comGitHubLinkedIn
Re[3]: Ужасный стиль программирования
От: Areex  
Дата: 11.04.03 10:59
Оценка:
Здравствуйте, Awaken, Вы писали:


M>>

M>>char *i = "Hello world";
M>>while(fputc(i++, f) != EOF);
M>>


M>>или лучше написать


M>>
M>>char msg[] = "Hello world";
M>>int i = 0;

M>>while (msg[i])
M>>{
M>>   fputc(msg[i], fp);
M>>   i++;
M>>}
M>>


A>если бы я принимал интервью у программера то взял бы первого а не второго.

A>фиг с ними с идентификаторами но первая строчка демонстрирует понимание арифметики указателей.

Первый продемонстрировал ошибку, должно быть const char *i = "Hello World";

A>вторая строчка не демонстрирует ничего.


Код должен работать, а не домонстрировать крутость программера. Один фиг кмпилятор родит одно и тоже.
"I'll scout ahead."
Re[4]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 11.04.03 11:17
Оценка:
Здравствуйте, Areex, Вы писали:

A>Первый продемонстрировал ошибку, должно быть const char *i = "Hello World";


Еще можно добавить, что
while(fputc(i++, f) != EOF);

никто не мешает вылезти за пределы строки, получить AV или еще какую радость...

Так что действительно

Код должен работать...

.

А первый пример не блещет этим. А если вспомнить и о читабельности кода...
Второй подход imho лучше.
... << RSDN@Home 1.0 beta 6a >>
Re[8]: Ужасный стиль программирования
От: adb Россия  
Дата: 11.04.03 11:43
Оценка: 3 (1)
ММ>Не скажу про XP, не практиковал. А вот саппорт как раз вполне укладывается. Получаем запрос на саппорт. Определяем проблемный модуль и передаем дело человеку, ответственному за этот модуль. Он в свою очередь может выделить подмодуль и т.д. А вот каждый раз копаться во всем проекте — довольно неэффективная практика.

Да не нужно этого для суппорта. Я сам сидел два года на немаленьком проекте. Один фиг седня знаешь — завтра забудешь. Но если привык уже к стилю кодирование + имеешь поверхностные представления о проекте, то детали очень быстро проясняются.

ММ>Команда обычно не исчезает просто так. Но даже если и уйдет, то новой команде (или одной из существующих команд) потребуется не так уж много усилий на освоение модуля. По крайней мере, гораздо меньше, чем на поддержание в мозгу всего проекта...


К сожалению все мы всего лишь люди. Иногда команды уволняют или просто уходят. Были случаи и с летальным исходом. Разбилась вся команда на машине. В результате проект пошел пришлось просто переписывать.

Да и просто ушел человек в отпуск и что делать? Плюс свежий взгляд со стороны никогда не бывает лишним.

ММ>Вот только на практике получается, что никто во всем не разбирается. Это в принципе нереально. Другое дело, что если приспичит, то разобраться сможет... Но, опять же, не во всем проекте, а в нужной его части.


Для этого и нужно писать простой понятный код + иметь хотя бы поверхностную документацию.

ММ>И, кстати, откуда такая информация о MS Office?

Знакомые работают. Не жалуются.
Re[8]: Ужасный стиль программирования
От: adb Россия  
Дата: 11.04.03 11:51
Оценка: 3 (1)
G_P>На счет офиса ты сильно ошибаешься. Во-первых, например Exel и Word делали совершенно разные команды программистов (и это, кстати, хорошо можно видеть по объектной структуре приложений офиса). Во-вторых — для производства многих компонент офиса мелкософт подряжал сторонние фирмы.

Речь идет о сопровождении.

G_P>Ну и в третьих — количество ошибок в офисе таково, что его вообще не стоит рассматривать как проект, на который стоит равняться (особенно если учесть 20 миллиардные затраты на его производство, которые по карману только майкрософту).


Ошибки есть везде. Тем более в таком конском проекте. Вы можете привести более "правильные" примеры? А вообще процессу производства в MS можно только позавидовать. Чего бы не говорили, а работают там профессионалы.
Re[9]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 11.04.03 12:06
Оценка: 3 (1)
Здравствуйте, adb, Вы писали:

adb>Да не нужно этого для суппорта. Я сам сидел два года на немаленьком проекте. Один фиг седня знаешь — завтра забудешь. Но если привык уже к стилю кодирование + имеешь поверхностные представления о проекте, то детали очень быстро проясняются.


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

adb>К сожалению все мы всего лишь люди. Иногда команды уволняют или просто уходят. Были случаи и с летальным исходом. Разбилась вся команда на машине. В результате проект пошел пришлось просто переписывать.

adb>Да и просто ушел человек в отпуск и что делать? Плюс свежий взгляд со стороны никогда не бывает лишним.

"Разделяй и властвуй". Я бы это отнес и к поддержке проекта. Только при этом условии издержки при подобных обстоятельствах будут минимальны.

Здесь еще такое соображение: чтобы разбираться во всем проекте, разработчику надо жертвовать временем, которое он мог бы потратить на свой кусок проекта. В итоге все выливается в производительность, надежность, ... и, в конце концов — в деньги.

ММ>>Вот только на практике получается, что никто во всем не разбирается. Это в принципе нереально. Другое дело, что если приспичит, то разобраться сможет... Но, опять же, не во всем проекте, а в нужной его части.


adb>Для этого и нужно писать простой понятный код + иметь хотя бы поверхностную документацию.


Ну, без этого никак. С этим трудно поспорить.

ММ>>И, кстати, откуда такая информация о MS Office?

adb>Знакомые работают. Не жалуются.

И что, они знают все обо всем офисе?
... << RSDN@Home 1.0 beta 6a >>
Re[5]: Ужасный стиль программирования
От: joker6413  
Дата: 11.04.03 12:46
Оценка: :)
Здравствуйте, Ведмедь, Вы писали:

В>Вот как раз наоборот... меня тоде бесит циклы вида



В>
В>for( int iCurrentPageLoopCounter = 0 ; iCurrentPageLoopCounter  < CurrentPageLoopCounterMax; iCurrentPageLoopCounter++ )
В>{
В>    DoFunction( some_collection[ iCurrentPageLoopCounter  ] );
В>}
В>

В>вместо

В>
В>for( int i = 0 ; i < page_count; i++ )
В>{
В>   DoFunction( some_collection[i] );
В>}
В>


В>видно что i именно счетсчик цикла и ничего более. Зачем ей давать длинное название, когда каждый идиот поймет, что имется ввиду.


Помнится в асме было здорово, там несколько регистов и СX — если не ошибаюсь, регистр счетчика, никто конечно программера не ограничивал рамками применения этого регистра, но команда счетчики работали только с CX . С тех пор жизнь стала куда труднее...

Игорь
Re[5]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 11.04.03 13:00
Оценка:
ММ>А первый пример не блещет этим. А если вспомнить и о читабельности кода...
ММ>Второй подход imho лучше.

пример с fputs-ом неудачен.
я имел в виду что текст написанный на С/C++ нормально читается программистами соответствующей квалификации
вот у нас в институте был препод который читал C и за использование указателей оценки снижал...
гнать надо в шею таких преподователей
Re[6]: Ужасный стиль программирования
От: Areex  
Дата: 11.04.03 14:25
Оценка:
Здравствуйте, Awaken, Вы писали:


ММ>>А первый пример не блещет этим. А если вспомнить и о читабельности кода...

ММ>>Второй подход imho лучше.

A>пример с fputs-ом неудачен.

A>я имел в виду что текст написанный на С/C++ нормально читается программистами соответствующей квалификации
A>вот у нас в институте был препод который читал C и за использование указателей оценки снижал...
A>гнать надо в шею таких преподователей

И *arr, и arr[] суть -- указатели. Какие причины должны двигать человеком использовать первый метод, вместо второго? Ну кроме как продемонстрировать, что он это умеет?
"I mix the potions and drink."
Re[8]: Ужасный стиль программирования
От: PLUS Россия http://*.*
Дата: 12.04.03 01:46
Оценка: 3 (1)
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Команда обычно не исчезает просто так. Но даже если и уйдет, то новой команде (или одной из существующих команд) потребуется не так уж много усилий на освоение модуля. По крайней мере, гораздо меньше, чем на поддержание в мозгу всего проекта...


А то представте вся команда XP сбежала, пришла другая команда, а ей кроме этого еще и весь код Office, Net Framework, IIS... надо помнить.

Разбираться в принципах построения ПО, архитектуре COM, WFC, ATL... — это одно, а помнить контекст задач — другое.
__________________
PLUS, ICQ 138726397
---------------------
Re[9]: Ужасный стиль программирования
От: PLUS Россия http://*.*
Дата: 12.04.03 01:46
Оценка: 3 (1)
Здравствуйте, adb, Вы писали:

adb>Ошибки есть везде. Тем более в таком конском проекте. Вы можете привести более "правильные" примеры? А вообще процессу производства в MS можно только позавидовать. Чего бы не говорили, а работают там профессионалы.


И что у них в примерах к студии есть перлы вроде
m_lpszWKotoroyEstEcheWsykiBukovkiKromeZero ???

Тем более если что и было в C# они явно исправились, улавливаешь тенденцию?
__________________
PLUS, ICQ 138726397
---------------------
Re[10]: Ужасный стиль программирования
От: adb Россия  
Дата: 13.04.03 08:44
Оценка:
ММ>Я бы не назвал это "каждый должен во всем разбиратся" или "все члены команды должны понимать весь проект". Фактически при этом никто ни в чем не разбирается до поры до времени. Вот когда понадобится, тогда человек углубится в проблемное место проекта, разберется и поправит.

А сразу во всем разбиратся и не нужно. Простой пример — изучение библиотеки. Сначало вообще про неё ничего не известно. Читаем что она умеет делать списко решаемых задач список классов. Далее если нужен конкретный класс быстро разбираемся в нем. Никто не говорит о чтении книги из 5 томов по содержанию проекта.

ММ>"Разделяй и властвуй". Я бы это отнес и к поддержке проекта. Только при этом условии издержки при подобных обстоятельствах будут минимальны.

ММ>Здесь еще такое соображение: чтобы разбираться во всем проекте, разработчику надо жертвовать временем, которое он мог бы потратить на свой кусок проекта. В итоге все выливается в производительность, надежность, ... и, в конце концов — в деньги.

Минимальны за какой промежуток времени? Еще раз, уйдет вся команда придется потратить дофига времени. Окупится ли это время с лихвой за счет разделения? Если документацию не писать, не тестировать то время тоже можно сократить вопрос только какой ценой. Последнее время XP становится достаточно популярной — немало людей считают описанный подход правильным.

ММ>И что, они знают все обо всем офисе?


Достаточно чтобы править баги за приемлемое время.
Re[11]: Ужасный стиль программирования
От: e-buch Россия  
Дата: 13.04.03 13:10
Оценка:
ММ>И что, они знают все обо всем офисе?

adb>Достаточно чтобы править баги за приемлемое время.


Думаю с этим у них большие проблемы. Один пример : MS Equation, как были глюки (те же что и ~5 лет назад), так и остались.
Когда исправления не выходят оперативно и от версии к версии у того же ворда практически не добавляется функциональности и удобства, то это наводит на мысль — кроме хренового менеджмента у них еще и проект коряво поставлен и со стилем проблемы. Я вот еще в детстве обжегся — в достаточно большой (для меня) программе я не мог легко вносить правки, т.к. понятия не имел о хорошем стиле программирования и весь код был мною написан "через Ж" .

З.Ы. Этот правда, что микрософту оффис стоил 20 млрд $ ?
Ну ... За работу !!!
Re[11]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 13.04.03 20:47
Оценка:
Здравствуйте, adb, Вы писали:

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


adb>А сразу во всем разбиратся и не нужно. Простой пример — изучение библиотеки. Сначало вообще про неё ничего не известно. Читаем что она умеет делать списко решаемых задач список классов. Далее если нужен конкретный класс быстро разбираемся в нем. Никто не говорит о чтении книги из 5 томов по содержанию проекта.


Ну, значит мы называем одно и то же разными словами. Т.е. разработчик хорошо разбирается в своей части проекта и имеет общее представление о проекте.

... << RSDN@Home 1.0 beta 6a >>
Re[7]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 14.04.03 07:17
Оценка:
A>И *arr, и arr[] суть -- указатели.

не совсем равноценно. с индексом будет лишняя арифметическая операция с индексом,
для вычисления адреса конкретного элемента. *p++ будет более оптимально чем p[i]; i++

p[i] == *(p + i) /* !!!!! */


а демонстрировать то что умеешь — надо. например если требования к позиции
предполагают знание STL то можно написать и такое:

for(it= iter->vec.begin(); it != iter->vec.end(); it ++)
Re[8]: Ужасный стиль программирования
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 14.04.03 09:30
Оценка:
Здравствуйте, Awaken, Вы писали:

A>а демонстрировать то что умеешь — надо. например если требования к позиции

A>предполагают знание STL то можно написать и такое:

A>
A>for(it= iter->vec.begin(); it != iter->vec.end(); it ++)
A>


Если уж хочется "блеснуть", то лучше так:

for(i=iter->vec.begin(), j=iter->vec.end(); i!=j;  ++i)


или даже так:
for_each(iter->vec.begin(), iter->vec.end(), ...);
... << RSDN@Home 1.0 beta 6a >>
Re[8]: Ужасный стиль программирования
От: Areex  
Дата: 14.04.03 09:47
Оценка:
Здравствуйте, Awaken, Вы писали:

A>>И *arr, и arr[] суть -- указатели.


A>не совсем равноценно. с индексом будет лишняя арифметическая операция с индексом,


Операций будет ровно столько же.

A>для вычисления адреса конкретного элемента. *p++ будет более оптимально чем p[i]; i++


A>
A>p[i] == *(p + i) /* !!!!! */
A>


Хм... Ну что бы здря не сотрясать воздух, давай сыграем в интересную игру "найди отличие"?
; 20   :         x = *p++;

    mov    edx, DWORD PTR [esi]

; 21   :         y = arr[i++];

    mov    edi, DWORD PTR [eax]
    add    esi, 4
    add    eax, 4


VC6.

A>а демонстрировать то что умеешь — надо. например если требования к позиции

A>предполагают знание STL то можно написать и такое:

Иногода стоит продемонстрировать, что ты знаешь, что здесь без этого можно обойтись. Так сказать не надо плодить сущности свех необходимого.
"I try to move silently in plate armor..."
Re[9]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 14.04.03 10:09
Оценка:
A>Хм... Ну что бы здря не сотрясать воздух, давай сыграем в интересную игру "найди отличие"?

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

        mov     eax, DWORD PTR [ebp + что-то]
Re[10]: Ужасный стиль программирования
От: Areex  
Дата: 14.04.03 11:20
Оценка:
Здравствуйте, Awaken, Вы писали:

A>>Хм... Ну что бы здря не сотрясать воздух, давай сыграем в интересную игру "найди отличие"?


A>где-то еще должна быть команда загрузки i в регистр, которой нет в первом случае.

A>мне лень все это проделывать а ты листинг привел не полностью

A>
A>        mov     eax, DWORD PTR [ebp + что-то]
A>


Я вас умоляю, какой i?
С++ язык высокого уровня и, в общем случае, исходник связан с кодом только результатом.
Т.е. не надо считать компилятор дурнее себя.

Ну вот полностью, так легче?
; 15   :     int arr[20], *p= &arr[0];

    lea    esi, DWORD PTR _arr$[esp+92]
    lea    edi, DWORD PTR _arr$[esp+92]
; 18   :     for (i=0; i<20;)

    lea    eax, DWORD PTR _arr$[esp+92]
    mov    ecx, 20                    ; 00000014H
$L36333:

; 19   :     {
; 20   :         x = *p++;

    mov    edx, DWORD PTR [esi]

; 21   :         y = arr[i++];

    mov    edi, DWORD PTR [eax]
    add    esi, 4
    add    eax, 4
    dec    ecx
    jne    SHORT $L36333

; 22   :     }
"Demogoron? Great! Do you know how many exp he's worth?"
Re[11]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 14.04.03 11:42
Оценка:
A>Ну вот полностью, так легче?

это все конечно здорово что компиляторы такие умные и автоматически заводят регистровые переменные,
хотя их об этом не просят
но что было бы если внутри цикла употребил &i?
вся эта оптимизация рушится к черту т.к. нет такого понятия как "адрес регистра"
Re[12]: Ужасный стиль программирования
От: Areex  
Дата: 14.04.03 11:57
Оценка:
Здравствуйте, Awaken, Вы писали:


A>>Ну вот полностью, так легче?


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

A>хотя их об этом не просят
A>но что было бы если внутри цикла употребил &i?
A>вся эта оптимизация рушится к черту т.к. нет такого понятия как "адрес регистра"

Не совсем понял, что ты имеешь ввиду. Я тебе показал, что конструкция *p++ и arr[i++], с точки зрения компилятора идентичны, т.е. будут превращены в одну, но вторая обладает лучшей читаемостью для человека. Если и добавить &i ну станет переменная цикла вместо регистра ячейкой, само обращение по указателю от этого не изменится. Или я не понял, что ты хотел сказать?
"What the hell, there's six of us and only 5 type VI demons."
Re[13]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 14.04.03 12:49
Оценка:
>идентичны, т.е. будут превращены в одну, но вторая обладает лучшей читаемостью для человека. Если и добавить >&i ну станет переменная цикла вместо регистра ячейкой, само обращение по указателю от этого не изменится. Или я не

конструкция [] с точки зрения нормального человека (не программиста) так же неестественна как и ++ (если только он не программировал на Паскале). программисты же нормально читают исходные коды написанные другими программистами, если они намеренно не запутывают их.
Re[13]: Ужасный стиль программирования
От: Анoним  
Дата: 14.04.03 12:55
Оценка:
Здравствуйте, Areex, Вы писали:

A>Я тебе показал, что конструкция *p++ и arr[i++], с точки зрения компилятора идентичны, т.е. будут превращены в одну, но вторая обладает лучшей читаемостью для человека.


Ага, помнится, когда люди жили в пещерах, применяли только естественную конструкцию: arr[i++]. А *p++ — это новомодные штучки, химия.
Re[14]: Ужасный стиль программирования
От: Areex  
Дата: 14.04.03 13:17
Оценка:
Здравствуйте, Awaken, Вы писали:

>>идентичны, т.е. будут превращены в одну, но вторая обладает лучшей читаемостью для человека. Если и добавить >&i ну станет переменная цикла вместо регистра ячейкой, само обращение по указателю от этого не изменится. Или я не


A>конструкция [] с точки зрения нормального человека (не программиста) так же неестественна как и ++ (если только он не программировал на Паскале). программисты же нормально читают исходные коды написанные другими программистами, если они намеренно не запутывают их.


++ тут, кстати, не причем. Речь о *p [], в каком языке [] означает другое, нежели обращение по индексу? Чего не скажешь о *p.
Ты кстати так и не привел ни одного достоинства такой записи? Применительно к случаю разумеется.
"Well, *I* trust our party thief, and if he says this door isn't trapped, that's good enough for me."
Re[15]: Ужасный стиль программирования
От: Анoним  
Дата: 14.04.03 13:21
Оценка:
Здравствуйте, Areex, Вы писали:

A>в каком языке [] означает другое, нежели обращение по индексу?


В языках семейства xBase.
Re[15]: Ужасный стиль программирования
От: Awaken Украина  
Дата: 14.04.03 13:24
Оценка:
A>++ тут, кстати, не причем. Речь о *p [], в каком языке [] означает другое, нежели обращение по индексу? Чего не >скажешь о *p.

в фортране нет [] а есть (). а Фортран это прадедушка всех языков

A>Ты кстати так и не привел ни одного достоинства такой записи? Применительно к случаю разумеется.


меньше процессорных команд генерится. см пример с реверсом строки
Re[8]: Ужасный стиль программирования
От: WolfHound  
Дата: 14.04.03 15:52
Оценка: +1
Здравствуйте, Awaken, Вы писали:

A>а демонстрировать то что умеешь — надо. например если требования к позиции

A>предполагают знание STL то можно написать и такое:

A>
A>for(it= iter->vec.begin(); it != iter->vec.end(); it ++)
A>


Надо так
for(SomeIter i=vec.begin(), e=vec.end();i!=e;++i)

а лучше так
for_each(vec.begin(), vec.end(), .....);

А если действительно хочешь выпендриться то так
template<class P_Type, class P_Func>
P_Func for_all(P_Type& container, P_Func func)
{
    for(P_Type::iterator i=container.begin(), e=container.end(); i!=e; ++i)
        func(*i);
    return func;
}
...
for_all(vec, ...);

... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[14]: Ужасный стиль программирования
От: mihailik Украина  
Дата: 15.04.03 09:40
Оценка:
A>конструкция [] с точки зрения нормального человека (не программиста) так же неестественна как и ++

Ну нет уж! Кому хочешь легко объяснить, что квадратные скобки — это индекс. А вот эти самые плюсы слишком хитроумные, да ещё и с побочными эффектами.
... << RSDN@Home 1.0 beta 6a >>
Re[12]: Ужасный стиль программирования
От: Stoune  
Дата: 06.05.03 13:10
Оценка:
Здравствуйте, e-buch, Вы писали:

ММ>>И что, они знают все обо всем офисе?


adb>>Достаточно чтобы править баги за приемлемое время.


EB>Думаю с этим у них большие проблемы. Один пример : MS Equation, как были глюки (те же что и ~5 лет назад), так и остались.


А вот MS Equation к Офису не надо примешивать, єто продукт сторонней фирмы , о чём вас предупреждают при первом запуске.
... << RSDN@Home 1.0 beta 6a >>
Re[4]: Ужасный стиль программирования
От: globus000 Украина  
Дата: 08.05.03 14:56
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Awaken, Вы писали:


A>"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер


К>Когда я вижу название интерфейса IFirst или класса CMain, я понимаю — не большие проекты этот человек собирал. (с) мое.


К>Так что всякое бывает, и в левую мышцу не попадают.

К>(А это уже — (с) Земфира).

Да ладно понты колотить, нормальные названия
Если в пределах проекта всем участникам понятно что они значат значит все ок
Удачи тебе, браток!
Re: Ужасный стиль программирования
От: renton  
Дата: 08.05.03 15:03
Оценка:
A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.
A>"сосунки"(с) же могут написать вот такое

A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>

Да что ты?
Я вот обозначаю переменную в цикле lCounter. Мне нравится. Не мешает быть профессиональным программистом и делать серьёзные системы.
Re[2]: Ужасный стиль программирования
От: FlashBack  
Дата: 12.05.03 20:47
Оценка: -1
Здравствуйте, renton, Вы писали:

А такое слабо???
hData->RealWidth    =    (hData->AddressLength+hData->Distance)*hData->CharWidth*hData->ShowAddress+(hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex+hData->BytePerLine*hData->CharWidth*hData->ShowAscii;

Как говорится жизнь вынудила. А цикл где у меня такие фичи седят, я вообще лучше показывать не буду. А если обозначать буквой i, то не то что потом не вспомнишь, а на середине строки забудешь...
Re[3]: Ужасный стиль программирования
От: cMex Россия ICQ: 99722815
Дата: 12.05.03 21:04
Оценка:
Здравствуйте, FlashBack, Вы писали:

FB>
hData->>RealWidth    =    (hData->AddressLength+hData->Distance)*hData->CharWidth*hData->ShowAddress+(hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex+hData->BytePerLine*hData->CharWidth*hData->ShowAscii;


А вот такое уже надо разбивать, ИМХО, на несколько переменных (имеющих осмысленное имя) и использовать их уже в выражении. Или хотя бы дайте пояснение почему это в данном контексте невозможно?
...e-cmex@mail.ru
Re[4]: Ужасный стиль программирования
От: FlashBack  
Дата: 13.05.03 04:36
Оценка: -2
Здравствуйте, cMex, Вы писали:

M>А вот такое уже надо разбивать, ИМХО, на несколько переменных (имеющих осмысленное имя) и использовать их уже в выражении. Или хотя бы дайте пояснение почему это в данном контексте невозможно?


Можно, но сложно, и смысла нет. Там всё имеет смысл, и эти+другие переменные используются в разных комбинациях. Да и разбивать штук 100 таких строк? Значит кучу места в памяти занять надо и.т.д.
А для меня эта строка, как откритыя книга. Всё просто и понятно.
А главное работает
Re[3]: Ужасный стиль программирования
От: Vi2 Удмуртия http://www.adem.ru
Дата: 13.05.03 05:48
Оценка: +1
Здравствуйте, FlashBack, Вы писали:

FB>hData->RealWidth    =    (hData->AddressLength+hData->Distance)*hData->CharWidth*hData->ShowAddress + 
FB>                        (hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex + 
FB>                        hData->BytePerLine*hData->CharWidth*hData->ShowAscii;

FB>Как говорится жизнь вынудила. А цикл где у меня такие фичи седят, я вообще лучше показывать не буду. А если обозначать буквой i, то не то что потом не вспомнишь, а на середине строки забудешь...

Если класс переменной hData твой, то лучше сделать осмысленные аксессоры (или функции) в классе и пользоваться. Потому как вне класса работа с переменными не есть хорошее решение. А если класс не твой, то вполне можно сделать обертку на этот класс.

Но привычки, конечно, менять трудно. Проще на жизнь жалиться.

PS
hData->Distance*3*hData->CharWidth во втором слагаемом — это не ошибка ли случайно?
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[4]: Ужасный стиль программирования
От: FlashBack  
Дата: 13.05.03 18:43
Оценка:
Здравствуйте, Vi2, Вы писали:

Vi2>hData->Distance*3*hData->CharWidth во втором слагаемом — это не ошибка ли случайно?


Если так как вы написали — то ошибка, но там:
(hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex
Re[3]: Ужасный стиль программирования
От: Andy77 Ниоткуда  
Дата: 13.05.03 19:09
Оценка:
Здравствуйте, FlashBack, Вы писали:

FB>Здравствуйте, renton, Вы писали:


FB>А такое слабо???

FB>
FB>hData->RealWidth    =    (hData->AddressLength+hData->Distance)*hData->CharWidth*hData->ShowAddress+
(hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex+
hData->BytePerLine*hData->CharWidth*hData->ShowAscii;
FB>


Не обижайся, но, ИМХО, код под стать заголовку
Если невозможно добавить удобные аксессоры, то я бы хоть разбил ЭТО на 3-4 отдельных выражения.
Re[3]: Ужасный стиль программирования
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.05.03 08:30
Оценка:
Здравствуйте, FlashBack, Вы писали:
FB>А такое слабо???
FB>
hData->>RealWidth    =    (hData->AddressLength+hData->Distance)*hData->CharWidth*hData->ShowAddress+(hData->BytePerLine+hData->Distance)*3*hData->CharWidth*hData->ShowHex+hData->BytePerLine*hData->CharWidth*hData->ShowAscii;
FB>

FB>Как говорится жизнь вынудила. А цикл где у меня такие фичи седят, я вообще лучше показывать не буду. А если обозначать буквой i, то не то что потом не вспомнишь, а на середине строки забудешь...
Нда уж. Обфускатор... А так не лучше:
struct HDATA {
  integer ReadlWidth,
  integer AddressLength,
  integer CharWidth,
  integer Distance, 
  integer ShowAddress,
  integer ShowHex,
  integer ShowAscii; 
  inline void UpdateRealWidth() {
    RealWidth = ((AddressLength+Distance)*ShowAddress
                 + (BytePerLine+Distance)*3*ShowHex
                 + BytePerLine*ShowAscii
                ) * CharWidth;
  };
}
...
 hData->UpdateRealWidth();
...

?
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Ужасный стиль программирования
От: BugMan  
Дата: 16.05.03 20:39
Оценка:
Здравствуйте, Awaken, Вы писали:

A>все настоящие программисты знают что переменную цикла принято обзывать одной буквой i.

A>"сосунки"(с) же могут написать вот такое
Ты жутко крутой програмист, я тебе скажу....


A>
A>  For intIndex = 1 To intCount
A>        strChar = Mid$(strNumber, intIndex, 1)
A>        ' skipped  
A>  Next
A>

Нормальный код. Я всегда (даже сугубо локальные переменные) обзываю начиная с типа данных и для примитивов и для классов. Правда я использую для этого одну букву для примитивов.
  For iIndex = 1 To iCount
        sChar = Mid$(sNumber, iIndex, 1)
        ' skipped  
  Next iIndex

Главное что смысл прозрачен, а остальное пох**..
Правда облом в васике что iIndex видна во всей финкции, а не только в For->Next scope, но это можно пережить, а вот Java notation (лобированый некоторыми участниками) я ненавижу — когда например iCount выглядит чтонить типа такого countItems — уродство сплошное — и на слух голимо воспринимаестя, и тип данных в обьявленни смотреть придется

И вообще, можете обзывать меня ламером, но я не люблю С-type языки за case sensitivity, хотя на той же Жабе пишу с удовольствием.
Re[3]: Ужасный стиль программирования
От: Octane Россия  
Дата: 04.06.03 16:09
Оценка: +1 -1
Здравствуйте, Andrij, Вы писали:


for(int row=0; row < 10; row++)
{
   for(int col= row; col < 10; col++)
    {
    }
}


самокомментируемость кода
Re[3]: Ужасный стиль программирования
От: EM Великобритания  
Дата: 28.11.04 19:50
Оценка:
Здравствуйте, Awaken, Вы писали:

P>>Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных


A>так это ж физик а не программер. у них стиль мышления другой



Стиль мышления — точно такой же. Говорю, как бывший теорфизик
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
А я такооое видял...
От: p_kolya  
Дата: 30.11.04 11:05
Оценка:
Здравствуйте все!

Вот вы про ужасный стиль и приводите примеры. Я однажды такое видял! Код значит на Delphi был писан, вот кусок из него:
                for x:=1 to zeml[point_x,point_z].kol_points do
                for z:=1 to zeml[point_x,point_z].kol_points do begin
                        if prin(point_n,des2)=true then begin des:=des2;goto l1;end;
                        if prin(point_n,des2+1)=true then begin des:=des2+1;goto l1;end;
                        if prin(point_n,des2+2)=true then begin des:=des2+2;goto l1;end;
                        if prin(point_n,des2+3)=true then begin des:=des2+3;goto l1;end;
                        des2:=des2+4;goto l2;

l1:                     if (x_pb=x_pe)and(z_pb=z_pe) then begin
                            edit5.Text:=floattostr(zeml[point_x,point_z].mas_point[des].Y);
                                zeml[point_x,point_z].mas_point[des].Y:=y_point.Position-5000;
                        end else begin
                                p:=y_point.Position-5000;
                                zeml[point_x,point_z].mas_point[des].Y:=zeml[point_x,point_z].mas_point[des].Y+p;

                        end;

Никаких отступов, все непонятно как писалось. Помесь транслита с английским. Ну и потом то код пишется маленькими буквами...то большими...короче когда как рука на Shift( или на CapsLock ) упадет Вот тут то и есть ужастный код
Best regards, p_kolya. WinAmp сообщает: Тишина — лучшая музыка
Re: А я такооое видял...
От: Трурль  
Дата: 30.11.04 13:26
Оценка: :)
var
    Count0:integer;
    Count1:integer;
    ....
    Count100:integer;

....
  Count0:= 0;
  Count1:= 0;
...
  Count100:= 0;
...
  while ... 
      read(F,N);
      if N=0 then  Count0:= Count0+1;
      if N=1 then  Count1:= Count1+1;
...
      if N=100 then  Count100:= Count100+1;
Re[7]: Ужасный стиль программирования
От: Михаил  
Дата: 27.12.04 02:28
Оценка: 1 (1)
Здравствуйте, adb, Вы писали:

adb>P.S. Ярких пример проект MS Office, все участники которого ответствены за весь код сразу (миллионы строк). Причем там не отделяют Word от Excel или Access. Это всё один проект и каждый должен во всем разбиратся.


Ты где таких сказок наслушался
До 7-й версии Word, Excel 5 и Access 2.0 писались АБСОЛЮТНО РАЗНЫМИ группами. У каждого продукта — свой набор классов, своя архитектура. Можешь оценить число повторов кода в исходниках. Это уже потом, намного позже БГ или какого-то менеджера осенило: "Мля, дык это же одно и то же!". И поехали приделывать сиськи Памелы Андерсон к заднице Дженифер Лопес.... И до сих эти группы в основном через манагеров и взаимодействуют.
Кстати, сама же МС в своей "базе знаний" постоянно плачет о том, что Офис изначально не был задуман как единый продукт, что в дальнейшем привело к большому количеству проблем.
Хотя конечно с каждой версией все плотнее идет подгонка, на сегодня это уже можно считать одним пакетом.
Но на роль примера чего-то идеального ни Офис, ни какой-то из его компонентов — не подходят. Ни сами продукты, ни их исходники, ни разработчики.
Скорее, это пример "из жизни" — каким кривым путем идет эволюция.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[4]: Ужасный стиль программирования
От: Pavel Dvorkin Россия  
Дата: 27.12.04 03:04
Оценка: :))) :)))
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Awaken, Вы писали:


A>>"когда я вижу название переменной типа iCurrentPageLoopCounter я понимаю — немного кода в жизни этот человек написал"(с)Джоэл Шумахер


К>Когда я вижу название интерфейса IFirst или класса CMain, я понимаю — не большие проекты этот человек собирал. (с) мое.


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

(C) мое

With best regards
Pavel Dvorkin
With best regards
Pavel Dvorkin
Re[9]: Ужасный стиль программирования
От: Михаил  
Дата: 27.12.04 03:12
Оценка: +1 -1
Здравствуйте, adb, Вы писали:
G_P>> ... А вообще процессу производства в MS можно только позавидовать. Чего бы не говорили, а работают там профессионалы.

Попробуем позавидовать...
1. Разработчики выпускают очередной билд.
2. Тестеры его тестируют, составляют баг-листы.
3. Менеджеры расставляют приоритеты. С одной стороны, надо уложиться в срок, с другой — убрать все заметные "среднему юзеру" баги, чтобы не было претензий.
4. В итоге получается "потемкинская деревня", очень красиво выглядящая со стороны и имеющая кучу картона и лишней штукатурки внутри (там, где должны лежать бетон и кирпичи).
5. Недостатки продукта компенсируются интенсивными рекламными акциями и многократно избыточным количеством тестеров, служб сопровождения и прочих "помогаек".
Так делается и будет делаться "софт для домохозяек".
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[7]: Ужасный стиль программирования
От: Волк-Призрак Россия http://ghostwolf.newmail.ru
Дата: 27.12.04 07:52
Оценка:
Здравствуйте, adb, Вы писали:


adb>P.S. Ярких пример проект MS Office, все участники которого ответствены за весь код сразу (миллионы строк). Причем там не отделяют Word от Excel или Access. Это всё один проект и каждый должен во всем разбиратся.


Так вот почему офис от мс — эталон глюкозы! Всё ясно...
... << RSDN@Home 1.1.4 beta 3 rev. 185>> @@J[getWorld.ApplyCheats(unfair.Cheats.IDDQD_AND_IDKFA]
while(Life.getClass().getClassLoader()==Religion.GOD){Life.be();};
Скажи .net корпорации Microsoft! (c) ghostwolf 2004
7 раз поищи в стандартной библиотеке, 1 раз накодь своё.
Re[10]: Ужасный стиль программирования
От: adb Россия  
Дата: 27.12.04 08:09
Оценка: +2
Здравствуйте, Михаил, Вы писали:

М>Так делается и будет делаться "софт для домохозяек".


А у вас надо полагать большой опыт разработки проектов длительностью > 3000 человеко/лет?
Re[8]: Ужасный стиль программирования
От: Maxim S. Shatskih Россия  
Дата: 28.12.04 00:08
Оценка:
М>До 7-й версии Word, Excel 5 и Access 2.0 писались АБСОЛЮТНО РАЗНЫМИ группами. У

С виндами то же самое. Ядро — одни люди, Win32 — другие, сервисы — третьи, шелл — четвертые.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[11]: Ужасный стиль программирования
От: Михаил  
Дата: 28.12.04 00:11
Оценка:
А у вас надо полагать большой опыт разработки проектов длительностью > 3000 человеко/лет?
Да как-то быстрее получается...
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[3]: Ужасный стиль программирования
От: Maxim S. Shatskih Россия  
Дата: 28.12.04 00:11
Оценка:
WH>
WH>fout<<msg;
WH>

WH>Те использовать потоки ввода/вывода

Уродство. Думай потом, что означает << — вывод или сдвиг.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[9]: Ужасный стиль программирования
От: Михаил  
Дата: 28.12.04 00:27
Оценка: -1
Здравствуйте, Maxim S. Shatskih, Вы писали:

М>>До 7-й версии Word, Excel 5 и Access 2.0 писались АБСОЛЮТНО РАЗНЫМИ группами. У


MSS>С виндами то же самое. Ядро — одни люди, Win32 — другие, сервисы — третьи, шелл — четвертые.

Винда — это одна ОС, так она и делалась. Понятно, что много людей ее делало .
А с офисом — сначала сделали запускалку для win 3.1 (все, чего по сути реально было общего), потом склейка пошлла дальше: лихорадочное переписывание макроязыков, MS Forms, дублирующие компоненты всех продуктов (и все таки другие по поведению) и т.д. Никаких мотивов, кроме маниакального стремления продать "три по цене одного" — не заметно.

зы. Самое плохое, что люди, которые писали офис — все-таки перемешались с писателями Винды. Поэтому вместе с аутглюком падает и винда — это как пример, который я вынужден практически каждый день наблюдать...
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[11]: Ужасный стиль программирования
От: Михаил  
Дата: 28.12.04 01:12
Оценка:
Здравствуйте, adb, Вы писали:

adb>А у вас надо полагать большой опыт разработки проектов длительностью > 3000 человеко/лет?

А если не секрет — где ты видел такие "проекты".
Простая арифметика: 1 Человеко-Год Разработки — это например 10 Человеко-Дней Проектирования (возможно где-то бывает еще меньше . Тогда получаем, что надо 30000 Человеко-Дней Рядовых Проектировщиков, на которых уйдет 3000 Человеко-Дней Руководителей. Рядовые Проектировщики будут собраны в 10 Отделов, по 3000 Человеко-Часов на каждый. Время обсуждения проблем:
-один Отдел с Другим;
-Проектировщики внутри Отдела;
-Руководитель Отдела с каждым подчиненным Проектировщиком.
Сколько времени надо, чтобы спроектировать Проект?
У кого как, а у меня уже не хватает слабой фантазии.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[2]: А я такооое видял...
От: Eisen  
Дата: 28.12.04 06:01
Оценка:
Вот этот код действительно изверг какой-то писал...
Mercenaries never die, they just go to hell to regroup!
Re[2]: Ужасный стиль программирования
От: Astaroth Россия  
Дата: 28.12.04 06:11
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Ван Кампмен — физик и крупнейший ученый в области статистической физики и теории неравновесных процессах вообще писал ужасно, вместо x,y,z, писал ксиксипиомегагамма, да еще с подстрочными символами,


"Pi с дужкой" (с)
WinAmp играет: (умолк пока)
http://livejournal.com/users/breqwas
Re[12]: Ужасный стиль программирования
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.12.04 06:12
Оценка:
Здравствуйте, Михаил, Вы писали:
М>А если не секрет — где ты видел такие "проекты".
М>У кого как, а у меня уже не хватает слабой фантазии.
А фантазии и не надо. Почитай Брукса. Он как раз получил свой опыт управления проектами в рамках OS/360, если не ошибаюсь она потребовала около 5000 человеколет. Не думаю, что Windows NT заняла существенно меньше.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Ужасный стиль программирования
От: DJ KARIES Россия  
Дата: 28.12.04 16:59
Оценка:
Здравствуйте, BugMan, Вы писали:

BM>Здравствуйте, Awaken, Вы писали:


BM>И вообще, можете обзывать меня ламером, но я не люблю С-type языки за case sensitivity, хотя на той же Жабе пишу с удовольствием.


Кстати, я очень долгое время не любил case sensitivity.
Но вот, блин, как бесит на той же дельфе (или ANSI-Форте), когда какой-нить "Оберонщик" пишет "BEGIN" или "Begin" вместо человеческого "begin".
Вот ругалась бы дельфя на "BEGIN", я б в ладоши хлопал
Case sensitivity приучает к порядку — как я-автор объявил идентификатор, так ты-юзер, будь уж добр, и пиши.

Я тут всё по форту припираюсь.
Там ничего готового нет.
"Хороший стиль" сам ваяй, коли душа просит
Однако, сколько кривых рук на Земле, столько и "хороших стилей".
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[13]: Ужасный стиль программирования
От: Михаил  
Дата: 29.12.04 02:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Михаил, Вы писали:

М>>А если не секрет — где ты видел такие "проекты".
М>>У кого как, а у меня уже не хватает слабой фантазии.
S>А фантазии и не надо. Почитай Брукса. Он как раз получил свой опыт управления проектами в рамках OS/360, если не ошибаюсь она потребовала около 5000 человеколет. Не думаю, что Windows NT заняла существенно меньше.
Все равно буду придираться .
Например, организация хоккейного матча "стоит" 5000 человеко-часов. Но из этих часов менее 1% вызывают интерес у зрителей. Строительство плотины "стоит" намного больше, но менее 1% работ требует квалификации, отличной от водителя или экскаваторщика.
То есть я против включения в расчет таких работ, как сопровождение продукта, поддержка жизнедеятельности самих разработчиков (напр. админы сети, обслуживание железа), и т.д.
Всех таких работ, которые напрямую не связаны с разработкой.
Также вопрос — как оценивать тестирование. Если ничего не нашли за день — это человеко-день или сколько .
Здесь, кстати, еще есть очень интересная закономерность. Вовремя не додуманный человеко-час может привести вскоре к сотням часов тестеров, менеджеров и т.д. Это в плюс руководителю проекта (типа такой "сложный" проект поднял), или как?
Не думаю, что бизнесмены в области программирования запросто, по-честному расскажут, как было. Наоборот, налицо склонность к "припискам", как в старые добрые советские времена.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re[14]: Ужасный стиль программирования
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.12.04 04:36
Оценка:
Здравствуйте, Михаил, Вы писали:

М>Все равно буду придираться .

М>Например, организация хоккейного матча "стоит" 5000 человеко-часов. Но из этих часов менее 1% вызывают интерес у зрителей. Строительство плотины "стоит" намного больше, но менее 1% работ требует квалификации, отличной от водителя или экскаваторщика.
М>То есть я против включения в расчет таких работ, как сопровождение продукта, поддержка жизнедеятельности самих разработчиков (напр. админы сети, обслуживание железа), и т.д.
М>Всех таких работ, которые напрямую не связаны с разработкой.
Да на здоровье. Будь против чего угодно. В твоем сознании могут существовать любые модели. Если тебя, конечно, не интересует их связь с действительностью.
М>Также вопрос — как оценивать тестирование. Если ничего не нашли за день — это человеко-день или сколько .
М>Здесь, кстати, еще есть очень интересная закономерность. Вовремя не додуманный человеко-час может привести вскоре к сотням часов тестеров, менеджеров и т.д. Это в плюс руководителю проекта (типа такой "сложный" проект поднял), или как?
Миша, ты все же почитай классиков. Я тебя уверяю, это сэкономит тебе целые годы диванных размышлений.
М>Не думаю, что бизнесмены в области программирования запросто, по-честному расскажут, как было. Наоборот, налицо склонность к "припискам", как в старые добрые советские времена.
Ну с таким подходом, конечно, чтение классиков не поможет. Они все сговорились и врут. Операционные системы пишутся за два-три человекогода, промышленные СУБД — за один-два. Софтных проектов стоимостью в тысячу человеколет не бывает. Ну-ну.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Ужасный стиль программирования
От: Михаил  
Дата: 29.12.04 06:57
Оценка: +1 :))
Здравствуйте, Sinclair, Вы писали:

S>Миша, ты все же почитай классиков. Я тебя уверяю, это сэкономит тебе целые годы диванных размышлений.

Ну, хорошо, цитирую, раз я не настолько авторитетен.
Напомню, с чего начали — относится к сложным виткам развития мс офиса.
Это Брукс

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

В процессе работы над своим первым проектом ему приходят на ум всякого рода
находки и украшательства. Все они откладываются "до следующего раза". Рано или
поздно работа над первой системой приходит к концу, и архитектор,
преисполненный уверенности и продемонстрировавший свое мастерство на системах
этого класса, готов заняться второй системой.

Эта вторая система -- самая опасная из всех, которые когда-либо проектирует
человек...

Общая тенденция заключается в создании сверхпроекта второй системы путем
использования всех идей и находок, от которых предусмотрительно отказались в
первой. В результате, как сказал Овидий, получается "большая куча"..."
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.