Давайте начистоту
Запись от Psycho Tiger размещена 18.12.2010 в 03:46
Я тут решил покаяться.
Я очень много ратую за красоту решений, алгоритмов, красоту кода, правильности подхода и всего остального.
Дак вот, ратовать то ратую, только нифига сам этому не следую.
Например интерфейсы я применяю раз в 5 лет - там, где действительно без них никак. Никогда не использовал интерфейс для ограничения функционала - типа оставить только гет-сет. Мне это даже неудобно - по goto declaration я перехожу в интерфейс, а не в действительно место реализации.
В моём коде порой встречаются классы по 2-3 тыщи строк, когда можно легко обойтись без этого. Сам я встречая такой класс тыкаю на него пальцем и говорю, что с этим я работать не буду. Ну, это уже больше маркетинговый ход - как правило если заказчик - человек не гуманитарного образования то он готов накрутить 20% сверх сметы, но это другой разговор.
Я ратую за наследование и всё такое. Только достаточно часто работаю под мотивацией "бегомля!" и моё "наследование" это копипаст кода. Хотя оправдаюсь, обычно такой код живёт недолго и полностью рефакторится до нормального состояния в ближайшие дни. Потому что с таким работать невозможно.
В моём коде встречаются локальные переменные, начинающиеся с "_", приватные без "_", очень-очень редко публичные с "_". Протектед я всегда пишу с "_", хоть это и общественно неправильно.
Много-много констант в кастомных событиях и много-много методов и переменных, которые я никогда не вызываю. Кода слишком много чтобы помнить, делает ли какой-нибудь кусок что-то, а заниматься такими поисками нет желания.
В триада MVC вообще похожа на MVP, контроллеры сами обновляют вьюху. Зачем мне нужны модели я порой сам понять не могу.
А ещё я редко пользуюсь профайлером, в основном во время рефактора, которого не бывает (сроки-сроки-сроки!) при матерных словах, среди которых иногда прослеживаются "мемори" и "лик".
И ещё кучи и тонных этих "а ещё".
Но на самом деле разговор не о том. Я делаю так, как делаю потому что мне нужно везде успевать - я и студент-двоечник, и клаббер-алкоголик, и флешер-лид девелопер - благо люди, с которыми я работаю - дай бог им здоровья - знают об очень плохом коде не по наслышке, и код что делаю я им кажется "средним". Когда я делаю плохо, у меня сердце кровью обливается, но конкретно в данный момент по другому мне никак - вы попробуйте весело проживать студенческую молодость не вылетая с универа, да работая на полную катушку! Но знаете что смешно? При всём подходе разработки наше текущее приложение... бегает быстрее, чем его конкуренты. Более того, оно, наверное, даже стабильнее - а наш седой тестер подмечает, что то что делаю я - "весьма неплохо по стабильности, я просто не работал с его бывшими флешерами".
Господа, порой я пишу очень-очень плохой код, думая что он ужасный. Но нет, есть ещё люди в русских селениях! Я просто не представляю, как людям удается делать хуже, чем делаю я.
Теперь когда вы всё знаете, вы все ещё хотите взять меня на работу?
Всего комментариев 44
Комментарии
![]() ![]() |
|
берем
|
![]() ![]() |
|
Цитата:
Теперь когда вы всё знаете, вы все ещё хотите взять меня на работу?
|
![]() ![]() |
|
А, ну только если это. Забота о ближнем. Но я за все время работы одиночка, так что мне это и не надо. Наверное, пока не надо.
|
![]() ![]() |
|
А меня вот что-то переклинило и я вообще не использую публичные переменные...
А интерфейсы для связи частей приложения из несколько swf-ок -- отличная вещь. |
![]() ![]() |
|
Цитата:
А меня вот что-то переклинило и я вообще не использую публичные переменные...
|
![]() ![]() |
|
кордум необязательно. Class то public , а вот варсы все private.
|
![]() ![]() |
|
gloomy - перечисление методов + описание. имелось ввиду именно то
|
![]() ![]() |
|
В интерфейсах нельзя указать описание метода.
|
![]() ![]() |
|
Цитата:
В интерфейсах нельзя указать описание метода.
Просто, по идее, правильнее указывать описание для реализации метода. Откуда иначе узнать, как оно работает в том или ином классе? |
|
Обновил(-а) gloomyBrain 18.12.2010 в 20:03
|
![]() ![]() |
|
Модификаторы не указываются.
|
![]() ![]() |
|
Цитата:
Модификаторы не указываются.
|
![]() ![]() |
|
@Кордум
В контексте этого поста - это ASDoc. по крайней мере я его имел в виду |
![]() ![]() |
|
Цитата:
циклы не проходили. Если участок надо выполнить 100 раз - он будет 100 раз скопирован.
|
![]() ![]() |
|
Цитата:
Сообщение от chabapok
- Не знают что такое индексы или в лучшем случае не умеют ими пользоваться.
![]() |
![]() ![]() |
|
Цитата:
А меня вот что-то переклинило и я вообще не использую публичные переменные...
|
![]() ![]() |
|
Кстати тоже покаюсь - больше года 70% кода пишу на as2. это жесть.
специально для этого и понаписал "переходных" либ, чтобы чувствовать себя удобно. Надеюсь as2 таки умрёт когда нибудь.. |
![]() ![]() |
|
Цитата:
Один класс на все про все, что ли?
До более упоротых способов пока не дошел =) Интерфейсы могут использоваться для описания свойств как раз с помощью гет\сет методов. Сам почти не документирую, но мой код -- конечный. Библиотеки же с интерфейсами и евентами в проекте продукоментированы полностью. |
|
Обновил(-а) ChuwY 19.12.2010 в 04:23
|
![]() ![]() |
|
Цитата:
Имелось ввиду, что если свойство нужно снаружи -- геттер к нему приписывается, но никак не public.
|
![]() ![]() |
|
Котяра, я уже полгода пишу на as2 - работа у меня этого требует, и ничего, кастомный Delegate с передачей параметров мой друг, чтоб его.
|
![]() ![]() |
|
Цитата:
У Вас флешеры и серверники одновременно? Круто.
И естественно, рефакторингом я в таких случаях не занимаюсь, а иду по пути наименьшего сопротивления - *****код в том же, в рамках разумного, стиле. |
|
Обновил(-а) chabapok 19.12.2010 в 15:52
|
![]() ![]() |
|
А, ну раз там такой код - возится с ними себе дороже. Или переписывать, или пусть дальше ищут кого-нибудь. Ну это моё имо.
|
![]() ![]() |
|
Вот из-за таких "нет времени сейчас", потом кому-то или самому разработчику приходится тратить куда поболее времени. Если проект хоть чего то стоит и нужна его поддержка и развитие.
![]() |
![]() ![]() |
|
Цель - апдейт проекта до nn-ого числа. Время есть, начинаем рефакторить. Рефакторим, рефактор затягивается. Чтобы успеть после рефактора снова лепим очень плохой код =) И по кругу.
|
![]() ![]() |
|
Мы про программистов говорим, а не про аниматоров/художников, конечно)
|
![]() ![]() |
|
Да, пожалуй стоит )
|
Последние записи от Psycho Tiger
- Тонкости и трюки ActionScript`а, которые... бесполезны (10.05.2011)
- Vkontakte: как пользоваться wall.post, нужен ли теперь wall.savePost? (05.03.2011)
- А пятый контер-страйк хорош. (19.01.2011)
- Пацаны, гоу Вконтакте? (21.12.2010)
- Давайте начистоту (18.12.2010)