How To Write Unmaintainable Code
От: c-smile Канада http://terrainformatica.com
Дата: 23.11.05 01:08
Оценка: 91 (9) :))) :))) :))
http://thc.org/root/phun/unmaintain.html

Долго и много смеялся. Подписываюсь практически под каждым пунктом.
Re: How To Write Unmaintainable Code
От: alexeiz  
Дата: 23.11.05 03:44
Оценка: +2
Здравствуйте, c-smile, Вы писали:


CS>http://thc.org/root/phun/unmaintain.html


CS>Долго и много смеялся. Подписываюсь практически под каждым пунктом.


Hungarian Notation is the tactical nuclear weapon of source code obfuscation techniques ... use it!

Re[2]: How To Write Unmaintainable Code
От: c-smile Канада http://terrainformatica.com
Дата: 23.11.05 03:47
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:



CS>>http://thc.org/root/phun/unmaintain.html


CS>>Долго и много смеялся. Подписываюсь практически под каждым пунктом.


A>

Hungarian Notation is the tactical nuclear weapon of source code obfuscation techniques ... use it!


Двумя руками и ногами.

Видел например такое:

int bSuccess;

чего хотел сказать автор?
Re: How To Write Unmaintainable Code
От: c-smile Канада http://terrainformatica.com
Дата: 23.11.05 03:52
Оценка: :)
Здравствуйте, c-smile, Вы писали:

CS>Долго и много смеялся. Подписываюсь практически под каждым пунктом.


o_apple obj_apple

Use an "o" or "obj" prefix for each instance of the class to show that you're thinking of the big, polymorphic picture.


Re[3]: How To Write Unmaintainable Code
От: Anton Batenev Россия https://github.com/abbat
Дата: 23.11.05 04:44
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Видел например такое:

CS>int bSuccess;
CS>чего хотел сказать автор?

Вероятно, тоже, что и хотели сказать в MS, когда определяли тип BOOL как int — то, что значение должно интерпретироваться как булево. Для тех, кто использует в своей практике В/нотацию достаточно интенсивно — это очевидные и часто очень полезные "комментарии".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Hungarian Notation
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 23.11.05 05:08
Оценка: +2
Здравствуйте, alexeiz, Вы писали:

A>

Hungarian Notation is the tactical nuclear weapon of source code obfuscation techniques ... use it!


Как-то обсуждалось уже...
Сейчас IDE показывает тебе всю информацию о типе простым наведением мыши на идентификатор. А еще восемь-десять лет назад такого не было в принципе. Поэтому венгерская нотация была отличным способом съэкономить массу времени на переходах к определениям. В общем, в своё время она была уместна, сейчас — бессмысленна.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Hungarian Notation
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.05 05:57
Оценка: +1 -1
Здравствуйте, nzeemin, Вы писали:

A>>

Hungarian Notation is the tactical nuclear weapon of source code obfuscation techniques ... use it!


N>Как-то обсуждалось уже...

N>Сейчас IDE показывает тебе всю информацию о типе простым наведением мыши на идентификатор. А еще восемь-десять лет назад такого не было в принципе. Поэтому венгерская нотация была отличным способом съэкономить массу времени на переходах к определениям. В общем, в своё время она была уместна, сейчас — бессмысленна.

Она и тогда была злом. Сам столкнулся, когда в процессе переработки программы пришлось поменять типы многих переменных с float на double, а short на int. Хотя префиксами p, pc, pcsz пользовался еще долго.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Hungarian Notation
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 23.11.05 06:38
Оценка:
Здравствуйте, eao197, Вы писали:

E>Она и тогда была злом. Сам столкнулся, когда в процессе переработки программы пришлось поменять типы многих переменных с float на double, а short на int. Хотя префиксами p, pc, pcsz пользовался еще долго.


А поис и замена у вас не работала? Операция Find in files появилась в Студии очень давно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Hungarian Notation
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.05 06:54
Оценка:
Здравствуйте, nzeemin, Вы писали:

E>>Она и тогда была злом. Сам столкнулся, когда в процессе переработки программы пришлось поменять типы многих переменных с float на double, а short на int. Хотя префиксами p, pc, pcsz пользовался еще долго.


N>А поис и замена у вас не работала? Операция Find in files появилась в Студии очень давно.


Чесно говоря, не знаю, была ли 94-м году студия вообще. Я тогда в DOS-е и MultiEdit-е (5-м, кажется) работал. Да и не в этом суть. А в том, что не используй я тогда префиксы f и s, то вообще бы ничего менять не нужно было.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: MultiEdit
От: c-smile Канада http://terrainformatica.com
Дата: 23.11.05 07:10
Оценка:
Здравствуйте, eao197, Вы писали:

E>Чесно говоря, не знаю, была ли 94-м году студия вообще. Я тогда в DOS-е и MultiEdit-е (5-м, кажется) работал. Да и не в этом суть. А в том, что не используй я тогда префиксы f и s, то вообще бы ничего менять не нужно было.


Досовский MultiEdit рулез был неимоверный... эх...
Плюс к этому Zortech С++ от Вальтера Брайта (Walter Bright) прсиобаченный к ME — вещь.

Nostalgy...
http://www.walterbright.com/zortech2.jpg
Re[5]: MultiEdit
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.05 08:04
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Досовский MultiEdit рулез был неимоверный... эх...

CS>Плюс к этому Zortech С++ от Вальтера Брайта (Walter Bright) прсиобаченный к ME — вещь.

А я затем в MultiEdit-е (но уже в 7-м) под OS/2 до 2000-го года работал. И даже текст своей диссертации в DOS на древнем 386 ноутбуке набирал (специально для этих целей за $150 приобретенный)

На самом деле, ностальгия...
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: How To Write Unmaintainable Code
От: SergeCpp Россия http://zoozahita.ru
Дата: 23.11.05 08:08
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, c-smile, Вы писали:


CS>>Видел например такое:

CS>>int bSuccess;
CS>>чего хотел сказать автор?

AB>Вероятно, тоже, что и хотели сказать в MS, когда определяли тип BOOL как int — то, что значение должно интерпретироваться как булево. Для тех, кто использует в своей практике В/нотацию достаточно интенсивно — это очевидные и часто очень полезные "комментарии".


Тут — НЕТ

b — это уже признак Succ/Fail

Вот если bLoaded, к примеру...
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[6]: MultiEdit
От: SergeCpp Россия http://zoozahita.ru
Дата: 23.11.05 08:18
Оценка: 89 (4) :)))
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, c-smile, Вы писали:


CS>>Досовский MultiEdit рулез был неимоверный... эх...

CS>>Плюс к этому Zortech С++ от Вальтера Брайта (Walter Bright) прсиобаченный к ME — вещь.

E>А я затем в MultiEdit-е (но уже в 7-м) под OS/2 до 2000-го года работал. И даже текст своей диссертации в DOS на древнем 386 ноутбуке набирал (специально для этих целей за $150 приобретенный)


E>На самом деле, ностальгия...


Друзья, радуйтесь!
http://chunk3.mylivepage.com/common/chunk3/4468/2/3/me_01.gif

Это мой код инкрементального поиска...
http://chunk3.mylivepage.com/common/chunk3/4468/2/3/me_21.gif

Я не забросил Multi-Edit 7 for DOS

С конца 1997 и по сегодня (и дальше...) я его правлю улучшаю...

Приглашаю — критикуйте, предлагайте...

Есть картинки, исходники, проверка русского правописания, энциклопедии...

Sincerely...
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re: How To Write Unmaintainable Code
От: rombeck Израиль http://www.livejournal.com/users/rombeck
Дата: 23.11.05 08:27
Оценка:
Здравствуйте, c-smile, Вы писали:


CS>http://thc.org/root/phun/unmaintain.html


CS>Долго и много смеялся. Подписываюсь практически под каждым пунктом.


Супер Я тоже смеялся

Практически, "Code Complete" Макконнелла наизнанку + еще пара смешных вкусностей, которые Макконнелл забыл
... << RSDN@Home 1.2.0 alpha rev. 621 on Windows 2003 5.2.3790.65536 2.0.50727.42>>
С уважением,
Роман Беккер
Re[7]: MultiEdit
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.05 08:39
Оценка: 1 (1) +2
Здравствуйте, SergeCpp, Вы писали:

SC>С конца 1997 и по сегодня (и дальше...) я его правлю улучшаю...


Респект, адназначна!

Да только я уже безнадежно vim-ом отравлен
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[8]: MultiEdit
От: SergeCpp Россия http://zoozahita.ru
Дата: 23.11.05 08:46
Оценка:
Здравствуйте, eao197, Вы писали:

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


SC>>С конца 1997 и по сегодня (и дальше...) я его правлю улучшаю...

E>
E>Респект, адназначна!

Спасибо!

E>Да только я уже безнадежно vim-ом отравлен


Дайте ссылки на картинки... (рифма — случайна...)

Кстати, страшнейшая уродливость MEW версий 8 и 9 (и всяких)
повергла меня в глубочайшее уныние...

Это-ж сколько мне переделывать...

Да и все исходники причёсывать...

Неееее.... Хватит...

Ведь Главное — это делать как можно лучше
И не имеет значения это попсовое "up-to-date"...

Для меня это — Истина
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[9]: MultiEdit
От: SergeCpp Россия http://zoozahita.ru
Дата: 23.11.05 08:51
Оценка:
Здравствуйте, eao197

Кстати, непомерное моё тщеславие...

Гляньте в самом низу любой страницы на MyLivePage

Модератор... Уважьте программиста Радио 86-РК и Д3-28... Не удаляйте, pls...
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[7]: MultiEdit
От: Privalov  
Дата: 23.11.05 09:47
Оценка:
Здравствуйте, SergeCpp, Вы писали:

Здорово! Нет слов...

Тоже работал с MultiEdit, где-то с 4-й версии. Сейчас используем 8-ю. Самый серьезный ее недостаток — портит длинные (>16К) строки. Может назад откатиться?
Re[10]: MultiEdit
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.05 10:15
Оценка:
Здравствуйте, SergeCpp, Вы писали:

SC>Гляньте в самом низу любой страницы на MyLivePage


Об этом речь? "Editor icons design by SergeCpp" ?

Внушаить!
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: How To Write Unmaintainable Code
От: Anton Batenev Россия https://github.com/abbat
Дата: 23.11.05 10:18
Оценка: 2 (2) +1
Здравствуйте, SergeCpp, Вы писали:

AB>>Вероятно, тоже, что и хотели сказать в MS, когда определяли тип BOOL как int — то, что значение должно интерпретироваться как булево. Для тех, кто использует в своей практике В/нотацию достаточно интенсивно — это очевидные и часто очень полезные "комментарии".

SC>Тут — НЕТ
SC>b — это уже признак Succ/Fail
SC>Вот если bLoaded, к примеру...

ОК. Т.е. ты понимаешь, что имя переменной Success говорит само за себя? Это действительно так — ежу понятно, что это результат успеха операции (если, конечно, программер был вменяем). Но при этом, ты так же понимаешь, что она может принимать только два значения. Вот этого уже из слова "успешно" совершенно не следует. Иллюстрация:

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

Вопрос, успешно ли стартовал сервер?

Это я к тому, что hrSuccess мы можем интерпретировать, например, как множество {S_OK, S_FALSE, E_FAIL, ...} — на это и указывает hr, а вот bSuccess — это уже {true, false}. А как интерпретировать просто Success? Понятно, что в современных IDE мы знаем тип переменной подведя мышкой (хотя бывает крайне неудобно таскаться мышкой по экрану и переключаться на клаву), но и тип переменной не всегда красноречив...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.