После статьи про нестандартное использование Delphi я наткнулся на блогеров, которые не поленились попинать в мою сторону. Да и в комменты пару раз писали. Смысл наезда прост – это плохой стиль. Интересно, а что они хотели увидеть в статье с таким названием? Это не стандартное использование компонентов, а значит, будет описано не стандартное программирование, которое нельзя применять каждый день. Это очень плохой стиль программирования, но иногда он необходим. Иногда это приносит реальную пользу.
Например, один блоггер написал: «Я понимаю, что иногда это будет полезно, но такие случаи очень-очень редки. А новички, прочтя подобную статью, будут именно так и поступать». Человек понимает и соглашается, что такие случае есть, и иногда необходимо пользоваться плохими приемами. А то, что новички могут использовать мои методы не там, не говорит о том, что нам теперь, нельзя вообще писать об этом? Я описываю нестандартные методы, но не призываю их лепить везде подряд, а только в случаях крайней необходимости, которые существуют.
Где вообще эта грань – необходимости? Даже человек с опытом не всегда может определить ее и она определяется только методом опыта и ошибок. Пусть новички учатся, и они имеют право знать о различных методах и даже не стандартных. Или программисты с опытом считают себя выше? Кстати, человек, написавший вышесказанные строки вполне адекватный и умный (если судить по записям на блоге), но как же не пнуть в мою сторону :)? Ну ладно в мою сторону любят пинать выпендрежники, но тут вполне умный парень.
А я даже рад, потому что он сделал бесплатную рекламу моему блогу и моим книгам. Нормальные люди, прочитав статью захотят посмотреть, а что же еще я пишу, о чем не хотят говорить другие. В свое время журнал хакер специально нарушал стили и писал так, чтобы о нем говорили ради рекламы. Мне это конечно не нужно, но если будут меня обсуждать, я только за.
Да, я иногда нарушаю «хороший» стиль программирования и рассказываю, как можно нарушить, но я не призываю нарушать, я наоборот призываю к красивому программированию и чистоте кода. Но обходные маневры имеют право знать даже новички, поэтому я буду об этом писать и дальше. И если они где-то воспользуются ими неправильно, то на этих ошибках программист научится многому. Пишите чистый код, но если возникает ситуация, когда обходной маневр принесет реальную пользу, не стесняйтесь использовать его, не стесняйтесь ошибаться и не обращайте внимание на других программистов. Большинство из них сами поступят так же в крайней ситуации, а если нет, то это личный выбор каждого.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Михаил, всегда хотел спросить, почему в дельфийских исходниках вы часто(по крайней мере в книгах) используете для отступа 1 пробел, а не стандартные 2, как дядя Борман?
Это экономия бумажных страниц или ваш стиль?
Это мой стиль и только в Delphi. Я не смотрю на других, а выбираю сам и в данном случае, мой выбор был связан с наглядностью. Я стараюсь писать код так, чтобы функция полностью помещалась на экране, в крайнем случае чуть больше, но прокрутка должна быть вертикальная. Если делать слишком много пробелов или отделять код табами, то он уходит вправо и приходится делать прокрутку не только по вертикали, но и по горизонтали. Вот чтобы не было горизонтальной прокрутки, я не делаю лишних пробелов.
Да, сейчас мониторы поболее и кода помещается больше, но привычка ставить один пробел у меня еще со времен мониторов 640х480.
Это дело каждого. Кто как привык. Прочитав вашу книгу "Delphi в шутку и всерьез" я выработал свой метод оформления кода. + Пары Алгоритмизации и программирования со своей Венгерской нотацией =).
Вместо пробела жму на таб. Вроде как нагляднее получается. Ведь роль играет не только пробелы, но длинна имен объектов, переменных, свойст, методов и тд.
Михаил, CydSoftwareLabs это лаборатория софта? Это просто название ваших программ или у вас действительно там задействовано много людей, занимающихся разработкой софта?
Я все делаю один и Labs - это всего лишь слово.
Один мой знакомый вообще блоки кода в шахматном порядке располагает
Рад, что прочел мой пост.
Но, согласись, давай такие знания, как в посте про изменение стандартных компонентов, надо давать четко понять, что это очень плохо.
Да, бывают моменты, когда это необходимо. У меня таких моментов было 2:
1. Правка Indy, т.к. там есть баг при работе с куками.
2. Правка TMS THTMLabel - не было возможности выравнивания по ширине (justify).
Все. И ни разу, за всю практику, не пришлось править стандартные компоненты. А практика очень большая.
На мой взгляд - это был очень плохой пост. Вместо этого лучше давать новичкам правильное понимание ООП, работу с виндой (например, потоки, процессы), новые возможности Delphi. Вот например, хелперы - очень полезная новинка. Вы же даете новичкам знания, применяя которые, без правильного понимания и соответствующего опыта, только вредно.
Надеюсь, я не зря распинался и это повлияет на ваше мнение как в отношении постов, так и в отношении книг.
Мда, Михаил, прочел я пост аktub'ы... Твой блог мне больше нравится.
Михаил, в Ваших книгах много интересного, однако, в данном случае, замечание aktuba справедливо: типичный читатель ваших книг, новичок - это человек, который только сел за делфю и, впитывая, как губка, новую информацию, действуя на основе неё, начинает учиться программированию.
Вы ведь не будете пятилетнего ребёнка обучать, как производить удары ножом? Несмотря на то, что теоретически существуют ситуации, когда это ему понадобится. Вряд ли. Здравый смысл подсказывает, что этому следует обучать взрослого человека, и то - далеко не всегда.
Так для чего новичку забивать голову информацией, как можно править стандартные компоненты? Не говоря о том, что привитые навыки могут оказаться вредными. И применены в случаях, когда без них можно было бы обойтись.
1. На счет аудитории книг ты ошибается. она очень разная Да. в основном это не профи, потому что профи книг не читают :)
2. Причем тут книги я не понял, потому что осуждается статья на сайте. Или это на столько опасная тема, что о ней должны знать только избранные и нельзя нигде об этом писать? а может нужно избранном давать доступ?
Не нужно делать из читателей дураков, они сами разберутся, что хорошо, что плохо. они имеют право знать, и могут без меня и других советчиков сделать правильный выбор.
Твой пример с ребенком. когда ребенка учат пользоваться ножом, ему говорят только о стандартной функции - резать хлеб? Нет. Есть еще не стандартная функция - резать пальцы и я о ней своих детей предупреждаю.
ни ты AnTe, ни какой-то там aktuba не имеют права решать что нужно рассказывать, а что не нужно. aktuba сам пишет:
Да, бывают моменты, когда это необходимо. У меня таких моментов было 2:
и при этом умничает, что другим нельзя знать о таких методах решения. он самый умный? мы тут настолько все тупые, что сейчас побежим исходники тупо ковырять. не нужно казаться умнее других. а зарабатывать авторитет критиканством других - вообще тупизм.
to Notez:
1. право решать, что писать в своих книгах, а что нет, имеет только их автор, - Михаил.
2. Блог нужен для того, чтобы писать свои замечания и предложения, а не для того, чтобы "зарабатывать авторитет".
3. Для того, чтобы, научившись пользоваться опасным способом, по ошибке применить его в "не крайнем случае", тупым быть не обязательно.
Поясню свою мысль: если исходить из того, что новичок не умеет даже перекомпилировать исходный код борланда, отсюда, очевидно, следует, что он не в состоянии оценить последствия этого действия, потому что в статье эта информация отсутствует. Отсюда напрашивается третий вариант: дополнить статью красочными описаниями возможных последствий, а так же примерами, когда это действительно необходимо, со ссылками на статьи, в которых описываются иные безопасные методы решения схожих проблем.
Ещё раз повторю, что, создав блог, Михаил лишь подчеркнул, что он - не молчаливый автор "абы что написать", и его интересует мнение читателей. Вот я и написал это своё мнение, не более того.
AnTe
Ничего сверх смертельного в перекомпиляции кода бранда нет. Намного больше вреда от незнания структур данных, от неумения строить базы, от неумения просто правильно оформлять код. Не нужно поднимать Из-за этого лишнюю панику.
Твое мнение ясно но я с ним не соглашусь никогда еще раз говорю - читатели не тупые. не надо к ним как к детям. И не все проблемы можно решить безопасным способом. Ты же понимаешь, когда нужно лезть в код дельфи, а когда нет и другие поймут.
Считаю себя начинающим программистом. Статья о нестандартном использовании компонентов помогла справиться с ошибкой в indy, с которой бьюсь уже довольно долго. А по сему считаю, что красивый кодинг или нет, но такие приемы в запасе иметь надо.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.