всем привет.
месяц назад я начал работать на salesforce, до этого разрабатывал на .net.
что меня удивило в проекте на который меня взяли, так это качество кода, точней его отсутствие.
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?
всем привет. месяц назад я начал работать на salesforce, до этого разрабатывал на .net. что меня удивило в проекте на который меня взяли, так это качество кода, точней его отсутствие. нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?
На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.
На самом деле такое встречается на любой платформе, все зависит от уровня команды. В таких случаях необходимо брать инициативу в свои руки.
это ты еще a++ не встречал)))
[quote="viktor_troeglazov"]нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?[/quote] это ты еще a++ не встречал)))
[quote="viktor_troeglazov"]нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?[/quote] Абсолютно нормально! В SF обычно задача должна работать уже завтра, потому что ... бизнес процессы. Ни о каком планировании и речи не идет. Сегодня хотим это, делаешь это, завтра ой мы вот тут подумали - вот это. А сделал - отлично через 10 минут в прод. А 10 кило тестов? Заказчик - какие такие тесты? Все ж работает, так протестируем. И за 10 минут тесты и a++. Значит ты еще не работал нормально раз такие вопросы - задаешь :)
p.s.
то есть проблема в том, что не хватает времени?
[quote="Dmitry Shnyrev"][quote="viktor_troeglazov"]нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?[/quote] Абсолютно нормально! В SF обычно задача должна работать уже завтра, потому что ... бизнес процессы. Ни о каком планировании и речи не идет. Сегодня хотим это, делаешь это, завтра ой мы вот тут подумали - вот это. А сделал - отлично через 10 минут в прод. А 10 кило тестов? Заказчик - какие такие тесты? Все ж работает, так протестируем. И за 10 минут тесты и a++. Значит ты еще не работал нормально раз такие вопросы - задаешь :)[/quote] ну я же написал, что месяц работаю. на других платформах на которых доводилось работать, такого не было. понятно что программисты все равно копипастилино, но скорей в силу не хватки знаний и/или профессионализма чем по убеждению. ну как же не идет речь о планировании когда вот что пишут: https://developer.salesforce.com/page/Apex_Enterprise_Patterns_-_Separation_of_Concerns p.s. то есть проблема в том, что не хватает времени?
Тут долго можно рассуждать почему не пишется красиво. Причин куча.
Если получится на твоем проекте эти концепции использовать, то я только буду рад за вас и вашу компанию.
Тут долго можно рассуждать почему не пишется красиво. Причин куча. Если получится на твоем проекте эти концепции использовать, то я только буду рад за вас и вашу компанию.
Насчет копипаста и говнокода -- это больная тема.
Но в большинстве случаев это происходит по неопытности. Просто на рефакторинг кода редко время выделяют.
Хотел бы еще кинуть камень в огород самого salesforce. Как то слабо они пропагандируют написание чистого кода и следование best practices.
Довелось мне и для них на проекте поработать. Дык вот что я вам скажу. У меня испортилось к ним отношение после увиденного, не буду внедрятся в подробности(может быть это тайна для них:)).
Насчет копипаста и говнокода -- это больная тема. Но в большинстве случаев это происходит по неопытности. Просто на рефакторинг кода редко время выделяют. Хотел бы еще кинуть камень в огород самого salesforce. Как то слабо они пропагандируют написание чистого кода и следование best practices. Довелось мне и для них на проекте поработать. Дык вот что я вам скажу. У меня испортилось к ним отношение после увиденного, не буду внедрятся в подробности(может быть это тайна для них:)).
Вадим, привет. Добро пожаловать к нам
Все правильно ты написал.
Тесты часто пишутся только для покрытия кода. И это очень печально. Т.к хорошо написанные тесты экономят кучу времени на поиске багов и предотвращают появление большинства ошибок.
Кст да, на unit tests они уже давно забили. Деплоят на прод без работающих тестов.
Вадим, привет. Добро пожаловать к нам :) Все правильно ты написал. [quote="Vadim"]Тесты часто пишутся только для покрытия кода. И это очень печально. Т.к хорошо написанные тесты экономят кучу времени на поиске багов и предотвращают появление большинства ошибок.[/quote] Я кстати давно себя переборол и понял что тесты проверки именно функционала намного выгоднее писать!!! Покрытие "почему-то" сразу становится минимум 90% :D хотя и не стараешься (помню как раньше мучился чтобы 75% получить), да и появляется уверенность что твой функционал контролируется тестами. Если что сломается - тесты покажут быстрее чем недовольный пользователь на проде. [quote="Vadim"]Кст да, на unit tests они уже давно забили. Деплоят на прод без работающих тестов.[/quote] Это как они так деплоят?
Вот так и деплоят) Это же их продукт. Что хочу то и ворочу)
Вот так и деплоят) Это же их продукт. Что хочу то и ворочу)
Укоротил свой коммент. А то он на всю страницу)
Укоротил свой коммент. А то он на всю страницу)
Укоротил свой коммент. А то он на всю страницу)
[quote="Vadim"]Укоротил свой коммент. А то он на всю страницу)[/quote] А вот это зря. Плохо это. Обычно так нельзя делать :))) может кто-то уже пишет ответ на то что ты написал. И получится не совсем понятно потом. То что коммент большой это наоборот круто!!!! А если хочешь внести поправки или дополнения ставь UPD: ...
Я ж не думал что ты так быстро отреагируешь)
Я ж не думал что ты так быстро отреагируешь)
Ну вроде система оповещений работает
Ну вроде система оповещений работает :)
На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.
[quote="Gres"]На самом деле такое встречается на любой платформе, все зависит от уровня команды. В таких случаях необходимо брать инициативу в свои руки.[/quote] +1