LINUX.ORG.RU

AngularJS и как с этим жить...

 ,


0

3

Волею судеб, дали проект, набросанный на коленке, в котором используется частично AngularJS (тот самый, который версии 1.6), но частично - ничерта не соблюдается даже его идеология и некоторые моменты написаны через задницу императивщину, а данные с сервера обновляются по таймеру. Всё это вызывает у меня дикую боль ниже пояса. И пока проект не вырос, с этим нужно что-то делать, иначе это может привести в итоге к краху. Собственно, вопрос, что делать?

Ответ на: комментарий от crutch_master

Очевидно, что на это никто не пойдёт. А фигачить проект в рабочее время, а потом в своё время - тоже самое переписывать адекватно, - это через чур.

ShadowMaker
() автор топика
Ответ на: комментарий от crutch_master

Шикарные альтернативы. В любом случае я что-то теряю. Пытаясь переписать по-нормальному в своё время, - я теряю время. Страдая, я теряю время, занимаясь лажей, и рискуя быть уволенным, потому что виноватым в итоге всё равно сделают меня. Ну не менеджера же в самом деле. Если прям сходу валить - то... да, собственно, тут тоже проблемы и тоже некоторые потери. Варинтов с выгодой для меня - не существует? :)

ShadowMaker
() автор топика
Ответ на: комментарий от ShadowMaker

Конечно нет. Это же веб-фронт и ангуляр. Перепиши, лучше своё время потратить и сделать нормально, чем потом страдать до увольнения.

crutch_master ★★★★★
()

Если считаешь что можешь лучше, то переписывай с нуля или подправь существующий код. Только сохрани старый код, вдруг ты чего то не понел, что пытался сделать до тебя программист.

u0atgKIRznY5
()
Ответ на: комментарий от ShadowMaker

В любом случае я что-то теряю

«У верблюда два горба, потому что жизнь — борьба.»

mandala ★★★★★
()

А ты думал у жоэсников высокие зарплаты просто потому что они модные няшки? Лол. Удачи с рефакторингом этого добра (главное, в дурку не загреми).

anonymous
()

Так вам и надо, проклятые разработчики программ на жабоскрипте. Надеюсь, у всех и каждого, кто пишет вебню, есть и будут такие страдания.

anonymous
()

ничерта не соблюдается даже его идеология и некоторые моменты написаны через задницу императивщину, а данные с сервера обновляются по таймеру. Всё это вызывает у меня дикую боль ниже пояса.

Есть длинный вариант: идешь к менеджеру проекта, жалуешься что все говно, расписываешь риски, предлагаешь решения (нет, переписать все это не решение), если жмут сроки, то требуешь от менеджера решения в сжатые сроки. Если менеджер нифига не решает - идешь к погонщику менеджеров.
Не хочешь длинно - либо страдай(терпи/переписывай в свое время), либо собирай манатки.

Собственно в твоем посте не содержится фундаментальных проблем, которые нельзя решить в ходе простого рабочего процесса, просто увеличив эстимейты на таски. Вот если бы тебе обещали ангуляр и сдать надо было бы ангуляр, а у тебя там scala.js + react, вот тогда это была бы проблема.

Пилю приложение на 1.6 и 4 для одного и тогоже заказчика + иногда из его индусов выпадает какой-нибудь 1.6, но написанный рукожопами. Ну и данные по таймеру тоже обновляю, и ничего

Deleted
()
Ответ на: комментарий от anonymous

Достаточно мельком взглянуть на любой код из npm, чтобы стало ясно - здесь будет очень больно, не ходи сюда.

anonymous
()

Добро пожаловать в серые будни погромиста. Хороший погромист отличается умением молча жить с тем что есть и не переписывать с нуля.

Говнлкод он везде. Хороший код это миф.

redixin ★★★★
()
Ответ на: комментарий от redixin

ТС либо джун либо тряпка. Говнокода тонны, весь его не перепишешь, да и не надо это. Более того, если того требуют обстоятельства, нужно смело писать говнокод. А вообще можно просто начать пить, тогда и говнокод будет не так страшен.

anonymous
()
Ответ на: комментарий от redixin

Говнокод везде, но где-то его можно ворочать бульдозером, а где-то только чайной ложкой. Выбор за тобой, пограмист.

anonymous
()
Ответ на: комментарий от th3m3

Уже вроде это всё предлагали. Ах, да, точно.

Если взять вариант - не переписывать всё с нуля, потому что сроки, как всегда, горят, и никто не даст добро на переписывание, не смотря на то, что проект относится в зачаточном состоянии. Кроме того, контрольные точки, в которые всё должно более-менее корректно работать - раз в неделю, и на каждую неделю есть фичи, которые нужно реализовать.

Нужны предложения вариантов выведения проекта из сложившегося кризиса в таких условиях. Может сделать шаг назад и переписать сначала самые проблемные моменты на jQuery и/или vanillajs? Я могу выделить некоторое время на проведение таких манипуляций, то у меня его не так уж и много, я по основным таскам упахиваюсь.

ShadowMaker-work
()
Ответ на: комментарий от th3m3

Лучше на ванили тогда пытаться.

Ванилька хороша. К тому же я уже прикрутил babel (т.к. нужна поддержка IE, который до сих пор не понимает многое или понимает неправильно). С другой стороны - к проекту уже прикручен и используется местами jQuery, а $('#myId') писать всё же быстрее и короче, нежели document.querySelectorAll, ну и касательно других вещей начиная с $.get против XMLHttpRequest и заканчивая многими другими...

ShadowMaker-work
()
Ответ на: комментарий от ShadowMaker-work

к проекту уже прикручен и используется местами jQuery

И это в купе с Angular :) Осталось прикрутить ещё React, щепотку Vue.js, немного Ember и получится замечательный проект :)

th3m3 ★★★★★
()
Ответ на: комментарий от th3m3

И это в купе с Angular :)

Ну вот такая вот фигня. Но что есть то есть. И открутить просто ангуляр и оставить, хотя бы пока что, jQuery - я вижу затеей оптимальной. Дело в том, что идея довести до ума проект на ангуляре, чтобы он был именно на ангуляре, а не наполовину так - наполовину эдак, - во-первых, не нашла особой поддержки, во-вторых, я не настолько хорошо первый ангуляр знаю, чтобы быть уверенным в своих силах...

Например, сейчас сетевое взаимодействие фронта с бэком отлично работает на хроме, лисе и даже IE, но в хламину рушится на Edge. Причин я не ведаю, а сам он не выдаёт адекватных описаний или хотя бы кодов ошибок, и решение проблемы за разумное время мне найти/нагуглить не удалось. В исходниках же ангуляра копаться в поисках багов- затея, по-моему, слишком авантюрная, чтобы выбирать её вместо того, чтобы переписать код запросов с ангулярного на $.get/$.post, которые, как я уже проверил, работают на отлично везде.

ShadowMaker-work
()
Ответ на: комментарий от deep-purple

И там это сильно переплетено?

Да не особо.

Если не сильно, то ты мог бы улучшать фронт частями.

За не имением альтернатив тем и занимаюсь.

ShadowMaker
() автор топика
Ответ на: комментарий от AndreyKl

Открутить ангуляр и писать на ваниле + jquery - да ты великий профи, мужыг.

А я и не профи в ангуляре. И не сильно вижу смысла становится профи в ангуляре версии 1, когда уже вышла вторая, четвёртая, пятая и готовится к выходу шестая, при чём совместимость с первой настолько поломали, что сами разрабы переименовали всё, что >=2 с AngularJS в Angular и говорят, что это по сути не развитие, а два разных фреймворка, а на сайте AngularJS (последняя версия которого - 1.6.6) висит кнопка "попробуй новый Ангуляр, парень, не надо сидеть на старье!".

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

ShadowMaker
() автор топика
Ответ на: комментарий от ShadowMaker

попробуй новый Ангуляр, парень, не надо сидеть на старье!

Лол. Вся суть жопоскрипта. Через 2 года 4-й ангуляр будет таким же старьем, так что нет смысла и его задрачивать. Я тебе больше скажу, смысла нет во всем этом дерьме.

anonymous
()
Ответ на: комментарий от anonymous

Я тебе больше скажу, смысла нет во всем этом дерьме.

Родился бы сыном нефтяного магната - драл бы баб и разбивал тачки, а так - приходится ковыряться.

ShadowMaker
() автор топика
Ответ на: комментарий от ShadowMaker

Удалил предыдущий коммент потому что не поглядел лайфтайм ангуляра.

-----

Обновление. Поглядел вики (английскую) , если они не врут

In January 2018, a schedule was announced for phasing-out AngularJS: after releasing 1.7.0, the active development on AngularJS will continue till June 30, 2018. Afterwards, 1.7 will be supported till  June 30, 2021 as long-term support.[20]

то саппорт до 2021 обещают, активную разработку до конца июня текущего года.

Т.е. новый проект я бы на нём не начинал, но у вас ведь не новый.

По-моему, никаких шансов что менеджер согласится с твоими аргументами если ты не единственный программист в радиусе 100км.

Тебе либо учить ангуляр, либо уходить,обсуждения в такой ситуации бессмысленны поскольку аргументов у тебя нет кроме как «да мне не нравится». Если работа устраивает - учи, не устраивает - уходи.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 2)
Ответ на: комментарий от AndreyKl

Т.е. новый проект я бы на нём не начинал, но у вас ведь не новый.

Ну вообще-то новый. Просто начали его за пару недель до того, как я пришёл.

Если работа устраивает - учи, не устраивает - уходи.

Ой, всё. Задрали однотипными советами. Ничего нового.

ShadowMaker
() автор топика
Ответ на: комментарий от ShadowMaker

Просто начали его за пару недель до того

всего-то пару недель? понимая текущую логику, это же фигня делов, на любом фреймворке, скорей всего даже с переиспользованием кода

morisRavel
()
Ответ на: комментарий от ShadowMaker

Соглашусь с оратором выше, пара недель - фигня. Посмотри что бы ты выбрал вместо ангуляр 1.6. Поговори с менеджером, скажи что не слишком заинтересован в ангуляр 1.6, объясни почему. Скажи что технология уже практически не в активной фазе и искать разрабов с каждым годом будет сложнее. Тебя не устраивает опять же потому что с каждым годом опыт на 1.6 обесценивается. Ты предлагаешь вот это.

Далее по обстоятельствам. Если менеджер адекватный и у него нет других причин (в частности у вас нет людей со скилами 1.6), то он может пойти тебе на встречу. Правда может и не пойти. Я бы сказал 60/40 что пойдёт. Вот если бы у тебя были хорошие скилы в каком нибудь фреймворке, то адекватный менеджер наверное в 95% пошёл бы втакой ситуации на встречу, но так как скилов нет, шансов меньше. Но повторюсь, если других причин у него нет, то вполне себе есть шансы.

Но будь готов к отказу,потому что 1) 3,5 года это вполне себе срок по текущим временам, 2) что именно выбрать вместо 1.6? ангуляр 5? а не слишком ли свежо? 3 - а не протухло ли оно? 4 - а хорошо ли оно или 5 всё таки лушче? или 3 было лучше?

В общем, определись, ценишь ли ты работу. И если ценишь - будь готов к отказу и работать на 1.6 потому что фреймворк вполне себе норм и не протух, уж лучше чемна ванилке и jqueyr, инфа 146%. А по срокам и нужности всего этого менеджеру виднее. Но поговорить стоит.

ну и да, разнеси вопросы перехода на другой фреймворк и рефакторинга текущего кода. Раз пару недель, тоесли останетесь на 1.6 поставь вопрос о переписывании частей которые тебе не нравятся. Объясни что именно там плохо и как сделать лучше,покадалеко не ушли,потому что потом менять будет сложнее.

И последнее Я бы лично дважды подумал прежде чем с тобой соглашаться. не пойми неверно - у тебя из скилов jquery и ванилка, т.е. ноль без палочки, честно сказать. При этом ты знаешь как лучше а как хуже. Тебя самого это не смущает? В любом случае тебе виднее, но если ценишь работу, шибко не возмущайся. Ситуацияне слишком уж плохая, 1.6 пока что мягко говоря чуть не на острие, что вообще то не фатально. Лушче поработай и наберись опыта. Новый фреймворк освоишькогда будешьрабту искать другую, с опытом тебе будет легче выбрать.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 5)
Ответ на: комментарий от ShadowMaker-work

Тогда лично я бы точно не выпендривался. Ангуляр 1.6 хороший фреймворк.

И да, есть фриланс. Правда надо знать английский. Или в Крыму и интернета нет?

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

И да, есть фриланс. Правда надо знать английский. Или в Крыму и интернета нет?

Ахахаха )))) В доме, в котором я проживаю, совсем не в самой заднице, - электричества нету ))))

Вру, конечно. Есть электричество. Просто иногда пропадает, но не часто. И проседает каждый вечер вольт до 180-160. Но жить можно.

Интернет, конечно есть. Если поставить на выход из квартиры роутер и купить за бугром VPN, то можно пользоваться полноценным интернетом.

Всякие платёжные системы, ясное дело, с Крымом не работают. На данный момент только яндекс деньги (и их пластиковая карта) более-менее спасают.

Ну и... в эпл стор свою приложуху не выложишь, в гуголь - тоже, в большинстве платных сервисов нужно указывать левые данные и не палиться, из какого региона. Гугль, например, тупо блочит даже аналитику для сайтов. Эпл, на удивление, гораздо более пофигистично к этому относится. Но бабла ни там ни там не заработаешь.

Местные (СНГ) биржи, по моим наблюдениям, с ума сходят. Как по мне, прямое доказательство, что много кому кушать в последнее время хочется всё сильнее. Зарубежные... ну те же проблемы.

Знаешь, вот чтоб не показалось, что я тут ною. Если вертеться, не унывать, пробиваться - то можно найти способы и варианты. Пусть полулегальные, через одно место, - но можно. Но если десять лет назад, будучи ещё студентом, я пришёл на работу и получал штуку баксов и видел перспективы, то сейчас... я получаю всё ту же штуку баксов, но уже глаза мои не горят и света в конце тоннеля я не вижу.

ShadowMaker-work
()
Ответ на: комментарий от AndreyKl

дважды подумал прежде чем с тобой соглашаться. не пойми неверно - у тебя из скилов jquery и ванилка, т.е. ноль без палочки, честно сказать. При этом ты знаешь как лучше а как хуже. Тебя самого это не смущает?

Тот факт, что он не знает каких-то там конкретных технологий не означает, что с его мнением и желанием теперь не нужно считаться. Это глупость, это не имеет никаких оснований. Я понимаю, что современным программистам трудно это осознать и даже представить себе.

Вот такие как ты и уничтожили профессию. Вы оторвались от реальности пока отлизывали каком-то уроду собственнику, директору, менеджеру, тимлидеру. Вы зашли слишком далеко. Вам скоро скажут «наверное нужно отрезать тебе ногу, вася» - вы ответите «да конечно».

Ни в одной профессии таких уродских правил и такого катастрофического положения нет.

anonymous
()
Ответ на: комментарий от ShadowMaker-work

В целом, сочувствую. Кмк всё не так плохо. В Ростове например вот тут Ростов-на-Дону Программист ищут программиста за 20-40 к руб. Хочу тебе сказать что в Ростове 50 для программиста норм ЗП. Так что ты со своей штукой тоже ничего смотришься.

Местные (СНГ) биржи, по моим наблюдениям, с ума сходят. Как по мне, прямое доказательство, что много кому кушать в последнее время хочется всё сильнее. Зарубежные... ну те же проблемы.

Что до зарубежной работы, я работал на зарубежных биржах несколько лет назад. Простовй совет: освой любой современный js/php фреймворк (а ещё лучше погляди вакансии на одеске) и ищи работу. Но только освой по людски, чтобы собеседование пройти и не лезть за каждым чихом на стековерфлоу.

Найти работу зная лишь ванилу и jquery будет заметно сложнее. И Крым , я боюсь, тут не особо при делах, либо даже наоборот: уж не знаю как тебе так повезло, что с такими знаниями штука. МОжет быть ты бек хорошо делаешь? или вообще дизайнер?

AndreyKl ★★★★★
()
Ответ на: комментарий от anonymous

Тот факт, что он не знает каких-то там конкретных технологий не означает, что с его мнением и желанием теперь не нужно считаться. Это глупость, это не имеет никаких оснований

Ты дурак что ли? Он ни «каких-то там конкретных технологий» не знает, он вообще нифига не знает (ну или не написал). Прислушиваться к его мнению всё равно что прислушиваться к мнению первого встречного с улицы, вообще-то. Если тебе это нравится ты можешь так поступать, но лично я не видел ни одной профессии где люди с опытом слушали бы людей без опыта. Хотя, кмк, часто бывает что люди без опыта лезут со своими советами, это да.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от AndreyKl

Ты дурак что ли? Он ни «каких-то там конкретных технологий» не знает, он вообще нифига не знает (ну или не написал). Прислушиваться к его мнению всё равно что

Если он компетентен в области «программирование» то его нужно слушать. Не то что ангуляр 1.х, даже если он браузер первый раз в глаза видит, его мнение должно быть приоритетным или решающим.

прислушиваться к мнению первого встречного с улицы

я не думаю, что они наняли первого встречного с улицы

Решать должен тот специалист, кому это предстоит делать работу.

Унижайтесь дальше, я к сожалению, не могу вам запретить, вы уже угробили профессию, я выше уже сказал всё.

anonymous
()
Ответ на: комментарий от ShadowMaker-work

А, ну мастер на все руки, тогда понятно. Вероятно ЗП по локальным меркам более-менее адекватна, но тебе виднее.

Только одно скажу, как мастер на все руки: фреймворки и для бека и для css и для js нужны. Если знаешь фреймворк и английский - найти неплохую работу в вебе на одексе вполне реально.

За с++ и прочее не скажу ничего.

AndreyKl ★★★★★
()
Ответ на: комментарий от anonymous

Если он компетентен в области «программирование» то его нужно слушать. Не то что ангуляр 1.х, даже если он браузер первый раз в глаза видит, его мнение должно быть приоритетным или решающим.

Ты в вебе не работал, я так понял.
С вебом штука в том что спектр похожих технологий настолько широк, что каждый следующий программист приходит и ноет что вот другой фреймворк то 146% лушче, хотя фреймворки похожи обычно как три половины одного и второго.

При этом каждый фреймворк - это знания которые нужно иметь для работы. И опыт не очень то переносим в деталях.

Поэтому в вакансии пишут «знание фреймворка такого то», чтобы тот кто пришёл уже умел работать с фреймворком.

А если у человека нет знаний никакого фреймворка, то выбрать хорошо зарекомендовавший себя фреймворк ничем не хуже чем слушать новичка (а вероятно многим лучше).

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от ShadowMaker-work

Ещё момент - у тебя _очень_ широкий охват технологий. Такие люди редко что то знают «на зубок». Поэтому ЗП редко хорошая. Если выбрать специализацию и двигаться в одном направлении, результат будет лучше.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от AndreyKl

Мне прям интересна твоя «логика» стала. Я никак не могу понять, ты рассматриваешь вопрос в разрезе уровня компетенции (т.е. шансов поступить правильно) или в разрезе конфликта интересов?

ничем не хуже чем слушать новичка (а вероятно многим лучше).

Если они сами некомпетентны и не знают (это допущение, к.м.к следует из твоих предыдущих комментов), что разумно и хорошо, а что плохо, то почему же, как ты говоришь «чем слушать новичка (а вероятно многим лучше»?

Тут же всё ясно: в самом-самом худшем случае (если он первый раз видит компьютер) его мнение ничем не хуже random (а, вероятно, многим лучше)? Но даже в этом случае, тем более следует поступить как он скажет, ведь делать-то ему.

Поэтому в вакансии пишут «знание фреймворка такого то»

И это неприемлемо и ужасно, вы все просто никак не можете это понять. Должно даваться N недель/месяцев на освоение. Платит работодатель.

anonymous
()
Ответ на: комментарий от anonymous

Мне прям интересна твоя «логика» стала. Я никак не могу понять, ты рассматриваешь вопрос в разрезе уровня компетенции (т.е. шансов поступить правильно) или в разрезе конфликта интересов?

Если брать конкретный вопрос заданный ТСом,то будь я менеджером, я бы ни за что не согласился писать на ванилке + джейквери. Но так как кодовая база минимальна, я бы постарался сделать так как будто ТС «выбрал сам» чтобы программист был более мотивирован. Т.е. ну бог с ним не ангуляр 1.6, а ангуляр 5 или реакт, какая мне то разница, автор ведь всё равно не имеет опыта ни с тем ни с другим.

Но слушать в данной ситуации ТС - всё равно что слушать человека без опыта. У ТС, если ты заметил, очень широкий спектр используемых технологий. Ну, скажем, проведём такую аналогию: если бы врач был компетентен сразу и в онкологии, и в гастроэнтерологии, и в стоматологии (хирург) и в стоматологии (мастер или как там это) и костоправом бы был, и нейрохирургом, то я бы пожалуй предпочёл совет удалённого специалиста данный по скайпу после описания синдромов, нежели чем приём у такого доктора.

Т.е. переводя обратно в плоскость обсуждаемого вопроса - менеджер скорее всего с кем то посоветовался. И тот человек заведомо более компетентен чем ТС. Просто наверное на специалиста денег нет, вот и взяли ТС... с мыслью «человек с опытом, хочет развиваться в вебе. хороший фреймворк. ТС-у опыт, нам - результат, время у нас етсь в запасе, так что норм и нам и ему». А тс собрался на ванилке писать...

Как то так.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 7)
Ответ на: комментарий от anonymous

Тут же всё ясно: в самом-самом худшем случае (если он первый раз видит компьютер) его мнение ничем не хуже random (а, вероятно, многим лучше)? Но даже в этом случае, тем более следует поступить как он скажет, ведь делать-то ему.

Отнюдь. делать то ему, но спросить что использовать можно и у более квалифицированных людей. А то ведь делать то не только ему, но и тому кто будет после. А отвечать за это всё менеджеру. А ему делать пофиг на чём, он ничего не знает.

И это неприемлемо и ужасно, вы все просто никак не можете это понять. Должно даваться N недель/месяцев на освоение. Платит работодатель.

Аааа. Ну, батенька, это вопрос сложный. Во первых непонятно правы вы или нет:

Вот когда химика-органика берут на работу, что сначала берут химика-технолога-металлов и потом дают ему N недель/месяцев подучить органику? Или вот берут монтажника металлоконструкций? Так что, сначала берут заливщика бетона и ему дают N недель? Нет, либо берут монтажника металлоконструкций на ЗП монтажника по разряду, либо берут чёрти кого, но помошником монтажника.

Потом обоих кидают правда, так что у нас в вебе ещё не так плохо всё.

Я не думаю что вы правы, но даже если вы правы, тут речь о профсоюзах и прочей классовой борьбе. И она сводится к тому что бороться надо за свои права, безусловно, но за права прогрессивного класса бороться надо в первую очередь.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.