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
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.