Регистрация  |  Вход

качество кода, тесты без assert-ов

всем привет.
месяц назад я начал работать на salesforce, до этого разрабатывал на .net.
что меня удивило в проекте на который меня взяли, так это качество кода, точней его отсутствие.
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?

всем привет.
месяц назад я начал работать на salesforce, до этого разрабатывал на .net.
что меня удивило в проекте на который меня взяли, так это качество кода, точней его отсутствие.
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?


На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.

На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.

viktor_troeglazov
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?

это ты еще a++ не встречал)))

[quote="viktor_troeglazov"]нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?[/quote]

это ты еще a++ не встречал)))

viktor_troeglazov
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?

Абсолютно нормально! В SF обычно задача должна работать уже завтра, потому что ... бизнес процессы. Ни о каком планировании и речи не идет. Сегодня хотим это, делаешь это, завтра ой мы вот тут подумали - вот это. А сделал - отлично через 10 минут в прод. А 10 кило тестов? Заказчик - какие такие тесты? Все ж работает, так протестируем. И за 10 минут тесты и a++.
Значит ты еще не работал нормально раз такие вопросы - задаешь

[quote="viktor_troeglazov"]нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?[/quote]
Абсолютно нормально! В SF обычно задача должна работать уже завтра, потому что ... бизнес процессы. Ни о каком планировании и речи не идет. Сегодня хотим это, делаешь это, завтра ой мы вот тут подумали - вот это. А сделал - отлично через 10 минут в прод. А 10 кило тестов? Заказчик - какие такие тесты? Все ж работает, так протестируем. И за 10 минут тесты и a++.
Значит ты еще не работал нормально раз такие вопросы - задаешь :) 

Dmitry Shnyrev
viktor_troeglazov
нормально ли для таких как salesforce такое изобретение программистов как копи/паст, копипастится все, от классов до страниц, и что самое любопытное еще и тесты без ассертов?

Абсолютно нормально! В SF обычно задача должна работать уже завтра, потому что ... бизнес процессы. Ни о каком планировании и речи не идет. Сегодня хотим это, делаешь это, завтра ой мы вот тут подумали - вот это. А сделал - отлично через 10 минут в прод. А 10 кило тестов? Заказчик - какие такие тесты? Все ж работает, так протестируем. И за 10 минут тесты и a++.
Значит ты еще не работал нормально раз такие вопросы - задаешь :)

ну я же написал, что месяц работаю. на других платформах на которых доводилось работать, такого не было. понятно что программисты все равно копипастилино, но скорей в силу не хватки знаний и/или профессионализма чем по убеждению.
ну как же не идет речь о планировании когда вот что пишут: https://developer.salesforce.com/page/Apex_Enterprise_Patterns_-_Separation_of_Concerns

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. 
Довелось мне и для них на проекте поработать. Дык вот что я вам скажу. У меня испортилось к ним отношение после увиденного, не буду внедрятся в подробности(может быть это тайна для них:)). 

Вадим, привет. Добро пожаловать к нам
Все правильно ты написал.

Vadim
Тесты часто пишутся только для покрытия кода. И это очень печально. Т.к хорошо написанные тесты экономят кучу времени на поиске багов и предотвращают появление большинства ошибок.

Я кстати давно себя переборол и понял что тесты проверки именно функционала намного выгоднее писать!!! Покрытие "почему-то" сразу становится минимум 90% хотя и не стараешься (помню как раньше мучился чтобы 75% получить), да и появляется уверенность что твой функционал контролируется тестами. Если что сломается - тесты покажут быстрее чем недовольный пользователь на проде.

Vadim
Кст да, на unit tests они уже давно забили. Деплоят на прод без работающих тестов.

Это как они так деплоят?

Вадим, привет. Добро пожаловать к нам :)
Все правильно ты написал.

[quote="Vadim"]Тесты часто пишутся только для покрытия кода. И это очень печально. Т.к хорошо написанные тесты экономят кучу времени на поиске багов и предотвращают появление большинства ошибок.[/quote]
Я кстати давно себя переборол и понял что тесты проверки именно функционала намного выгоднее писать!!! Покрытие "почему-то" сразу становится минимум 90% :D хотя и не стараешься (помню как раньше мучился чтобы 75% получить), да и появляется уверенность что твой функционал контролируется тестами. Если что сломается - тесты покажут быстрее чем недовольный пользователь на проде.

[quote="Vadim"]Кст да, на unit tests они уже давно забили. Деплоят на прод без работающих тестов.[/quote]
Это как они так деплоят?

Вот так и деплоят) Это же их продукт. Что хочу то и ворочу)

Вот так и деплоят) Это же их продукт. Что хочу то и ворочу)

Укоротил свой коммент. А то он на всю страницу)

Укоротил свой коммент. А то он на всю страницу)

Vadim
Укоротил свой коммент. А то он на всю страницу)

А вот это зря. Плохо это. Обычно так нельзя делать :))) может кто-то уже пишет ответ на то что ты написал. И получится не совсем понятно потом. То что коммент большой это наоборот круто!!!!
А если хочешь внести поправки или дополнения ставь UPD: ...

[quote="Vadim"]Укоротил свой коммент. А то он на всю страницу)[/quote]
А вот это зря. Плохо это. Обычно так нельзя делать :))) может кто-то уже пишет ответ на то что ты написал. И получится не совсем понятно потом. То что коммент большой это наоборот круто!!!!
А если хочешь внести поправки или дополнения ставь UPD: ...

Я ж не думал что ты так быстро отреагируешь)

Я ж не думал что ты так быстро отреагируешь)

Ну вроде система оповещений работает

Ну вроде система оповещений работает :) 

Gres
На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.

+1

[quote="Gres"]На самом деле такое встречается на любой платформе, все зависит от уровня команды.
В таких случаях необходимо брать инициативу в свои руки.[/quote]
+1