Неожиданное увольнение

Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Неожиданное увольнение

Post by Zorkus »

dotcom wrote:
stenking wrote: Да, это обсуждаемо. Но хорошо переписать они не смогут, нет ни опыта, ни желания. Рефакторинг не поможет.

Ваши действия?)
Продать контору нафиг и быстро убежать, чтобы не догнали. :D
Предварительно приняв гражданство другой страны и проч, чтобы еще и налоги не платить. Если уж бежать, то не только от покупателей, но и от родного IRS.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Неожиданное увольнение

Post by Мальчик-Одуванчик »

Сабина wrote:
dotcom wrote:
stenking wrote: Так что делать?:)
Ответ, вроде, тривиален. Или я что-то пропустил? Бюджет на "рефакторинг" то есть?
Надо спрашивать есть ли "мальчик" :mrgreen: . Наш ВП например имеет очень интересное представление о рефакторинге. Он считает что любой инженер это может сделать. Вот так как нафиг делать сесть и переписать труды 20 лет и многих поколений девелоперов. Мне же странно что кому то может быть элементарно невдомек что такое не по зубам 95 процентам девелоперов.
Точнее взяться то они возьмутся, а вот что получится в результате и будет ли оно лучше работать - это большой вопрос
Вообще-то существуют технологии рефакторинга, взять хотя бы тот же метод Микадо. И таки, да это по зубам среднему большинству.
Last edited by Мальчик-Одуванчик on 21 Dec 2013 08:25, edited 1 time in total.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Неожиданное увольнение

Post by Мальчик-Одуванчик »

Сабина wrote:
Мальчик-Одуванчик wrote:
Сабина wrote:
Что самое интересное я даже знаю человека который такое гавнецо успешно рефакторил и где надо с нуля переписывал и делал конфетку.
Страннно, раз рефакторил, так сразу исключительно гавнецо.
Даже следуя Вашему аджайловскому манифесту, раз продукт (когда-то) был сделан и устраивал заказчика (а иначе бы уже давно бы сдох) то он был превосходно сдизайнен, то есть уже не говнецо.
Че то вы смешали и коней и людей и крупный рогатый скот :)
Рефакторил то что дышало на ладан, иногда по своей инициативе кстати и потом, когда старье накрывалось тазом, у него был "рояль в кустах" и начальство просто уписывалось от счастья.
Заказчики были подсевшие на продукт массово, но конечно продукт переставал их устраивать если не делал ( не успевал делать) что надо
Собственно вся суть аджайла - не особо занимаясь дизайном, слепить на скорую руку гавнецо, удовлетвояющее сиюминутным потребносям рынка.
При этом рефакторинг начинается сразу после первого юнит-теста и продолжается непрерывно в процессе разработки и сопровождения продукта.
Продукт по определению (аджайла) считается имеющим хороший дизайн как только он начал соответствовать (базовым) потребностям.
Я вполне допускаю что тот старый продукт, что переписывал ваш коллега был вполне хорош на момент его создания. Но потом за ним не следили и его качество деградировало. Но это никак не делает его определенно говнецом, потому как судя по его долголетней истории он был изначально продуман со значителным запасом, включая и то, что впоследствии его будут касаться кривые ручки потомков. Чего не скажешь о современных технологиях разработки программного обеспечения, практически полностью нивелирующих умственный процесс в угоду постоянно меняющимся требованиям.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Неожиданное увольнение

Post by Сабина »

"Собственно вся суть аджайла - не особо занимаясь дизайном, слепить на скорую руку гавнецо, удовлетвояющее сиюминутным потребносям рынка."
Вы просто не понимание сути аджайла и с этого и надо начинать . Точнее тут можно и закончить :)
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Неожиданное увольнение

Post by Интеррапт »

Сабина wrote:
dotcom wrote:
stenking wrote: Так что делать?:)
Ответ, вроде, тривиален. Или я что-то пропустил? Бюджет на "рефакторинг" то есть?
Надо спрашивать есть ли "мальчик" :mrgreen: . Наш ВП например имеет очень интересное представление о рефакторинге. Он считает что любой инженер это может сделать. Вот так как нафиг делать сесть и переписать труды 20 лет и многих поколений девелоперов. Мне же странно что кому то может быть элементарно невдомек что такое не по зубам 95 процентам девелоперов.
Точнее взяться то они возьмутся, а вот что получится в результате и будет ли оно лучше работать - это большой вопрос
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Неожиданное увольнение

Post by Boriskin »

Zorkus wrote: Если вы обо мне, то не "приходящий хмырь", а "привлеченный для консультаций специалист"! :nono#: :D
Помнится были в Office space пара таких специалистов-консультантов... :lol:
Тупизна как Энтропия. Неумолимо растет.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Неожиданное увольнение

Post by Boriskin »

Мальчик-Одуванчик wrote:Собственно вся суть аджайла - не особо занимаясь дизайном, слепить на скорую руку гавнецо, удовлетвояющее сиюминутным потребносям рынка.
При этом рефакторинг начинается сразу после первого юнит-теста и продолжается непрерывно в процессе разработки и сопровождения продукта.
Имхо, это более чем нормально в раскладе, когда продукт представляет из себя некий сервис, который можно менять, править, отматывать назад и снова апдейтить на лету, и клиенты ничего особенно не заметят. Но если продукт работает в режиме атомарного деплоймента - то эта самая непрерывность аджайла становится дикой головной болью - кастомеру нельзя отправлять сырое говнецо, с идеей быстрого обновления оного на подсохшее "как только критические проблемы будут пофикшены".

Инструмент как инструмент, проблема, как и с гландами и автогеном, в людях, инструментами пользующимися.
Тупизна как Энтропия. Неумолимо растет.
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Неожиданное увольнение

Post by fruit6 »

а я за оджайл. это примерно как конкуренты стреляющие себе в голову из макарова. эволюция по дарвину. большего трудно пожелать на новый год.
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Неожиданное увольнение

Post by adda_ »

Интеррапт wrote:
Сабина wrote:
dotcom wrote:
stenking wrote: Так что делать?:)
Ответ, вроде, тривиален. Или я что-то пропустил? Бюджет на "рефакторинг" то есть?
Надо спрашивать есть ли "мальчик" :mrgreen: . Наш ВП например имеет очень интересное представление о рефакторинге. Он считает что любой инженер это может сделать. Вот так как нафиг делать сесть и переписать труды 20 лет и многих поколений девелоперов. Мне же странно что кому то может быть элементарно невдомек что такое не по зубам 95 процентам девелоперов.
Точнее взяться то они возьмутся, а вот что получится в результате и будет ли оно лучше работать - это большой вопрос
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Рефакторинг на раз можно сделать если имееются две вещи - тест юниты на всю бизнес логику и документация. Но этого не бывает никогда..
Даже простое переименование на раз не сделаешь, без этого, потому что супрайз, в большом проекте где одни и те же модули используются в разных апликейшенах запросто можно влететь на то что имя уже где то использовано. Да много на что можно влететь.
Рефакторинг ради рефакторинга - зло.. Причем большая часть людей этого не понимают..
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Неожиданное увольнение

Post by Сабина »

Интеррапт wrote:
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Неожиданное увольнение

Post by stenking »

Сабина wrote:
Интеррапт wrote:
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
А так же добавить кучу новых фич, убрать поддержку старых стандартов и практически полностью изменить UI. Ну и вынести логику на сервер что бы ещё добавить мобильные эппы :)
Бога нет.
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Неожиданное увольнение

Post by adda_ »

Сабина wrote:
Интеррапт wrote:
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
Полстраны считают HR Block. Который находится в Канзасе. И написано там не на джаве.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Неожиданное увольнение

Post by АццкоМото »

Сабина wrote:"Собственно вся суть аджайла - не особо занимаясь дизайном, слепить на скорую руку гавнецо, удовлетвояющее сиюминутным потребносям рынка."
Вы просто не понимание сути аджайла и с этого и надо начинать . Точнее тут можно и закончить :)
Он абсолютно прав в сути аджайла, как бы это ни было неприятно адептам

ЗЫ. чтобы два раза не вставать. с каких пор полное переписывание системы, да еще и на другом йызыке, стало рефакторингом?
Мат на форуме запрещен, блдж!
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Неожиданное увольнение

Post by fruit6 »

рефакторинг это общий термин, и переписывание с brainfuck на, скажем, cobol -- это тоже рефакторинг, если функциональность остается прежней.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Неожиданное увольнение

Post by АццкоМото »

fruit6 wrote:рефакторинг это общий термин, и переписывание с brainfuck на, скажем, cobol -- это тоже рефакторинг, если функциональность остается прежней.
В альтернативной реальности - может быть
В моей реальности переписывание всей системы является рефакторингом ровно в той же степени, в какой снос дома и постройка на его месте другого является ремонтом

Можете и с Викой познакомиться: http://en.wikipedia.org/wiki/Code_refactoring
Мат на форуме запрещен, блдж!
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Неожиданное увольнение

Post by fruit6 »

имхо про code refactoring речь не шла.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Неожиданное увольнение

Post by АццкоМото »

fruit6 wrote:имхо про code refactoring речь не шла.
Вот как. Оригинально
Мат на форуме запрещен, блдж!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Неожиданное увольнение

Post by Интеррапт »

Сабина wrote:
Интеррапт wrote:
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
Это что угодно, только не рефакторинг.
Мне было бы тупо обидно, если бы я переписал систему с нуля под новую платформу, без багов и сделав в 10 раз быстрее, чем предидущая версия, а кто-то бы сказал "он сделал рефакторинг". Эдак любой девелопмен можно назвать рефакторингом, ну взял я готовый Hello World шаблон и сделал ему рефакторинг в Facebook веб приложение.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Неожиданное увольнение

Post by Интеррапт »

fruit6 wrote:имхо про code refactoring речь не шла.
А про какой рефакторинг тогда шла речь? Что там еще может быть?
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Неожиданное увольнение

Post by Easbayguy »

Сабина wrote:
Интеррапт wrote:
О каком именно рефакторинге идет речь? Например, пойти во всем коде все перменные класса поменять с префикса m_ на префикс _ - это тоже рефакторинг. Или переименовать имя метода в классе да так, чтобы он во всем коде переименовался. Так как это тоже называется рефакторингом. И с этим 99 процентов девелоперов таки легко справится (ну не считая динамических языков, где будет посложнее, абьюз рефлексий и т.п.). Или речь все-таки идет о редизайне системы?
Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
Орел мужик, наверное все тот же работающий из дома, а мы по старинке вертех пользуем.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Неожиданное увольнение

Post by Леонид Ильич Брежнев »

stenking wrote:
Сабина wrote: Пожалуйста пример.
Взять старый апликейшен на перле под названием taxation engine который пол стране насчитывает таксы за их интернет сервис и переписать в красивый multithreaded Java app, который и считает все правильнее и в десять раз быстрее и за уже почти 6 лет практически ни одного бага
А так же ..... убрать поддержку старых стандартов и .... :)
Hey John (СЕО этой конторы), Вам звонят из Белого Дома, у нac после Вашего последнего апгрейда минфин перeстaл работать.
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Неожиданное увольнение

Post by fruit6 »

Интеррапт wrote:
fruit6 wrote:имхо про code refactoring речь не шла.
А про какой рефакторинг тогда шла речь? Что там еще может быть?
участник форума, использовававшая термин "рефакторинг" имелла ввиду "redesign".
мой поинт в том что agile experts можно разрешить использовать упрощенный лексикон. и называть "эта штучка" (или "рефакторинг", а данном случае) все что связано с разработкой софта.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Неожиданное увольнение

Post by Интеррапт »

fruit6 wrote: участник форума, использовававшая термин "рефакторинг" имелла ввиду "redesign".
мой поинт в том что agile experts можно разрешить использовать упрощенный лексикон. и называть "эта штучка" (или "рефакторинг", а данном случае) все что связано с разработкой софта.
А как же отличать эту штучку от той штучки тогда? Нет, я конечно понимаю, что лексикон можно любой придумать, но вроде как в софтверной индустрии существуют определенные названия и концепции, зачем же пытаться кого-то запутать? Чтобы конкуренты не догадались?
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Неожиданное увольнение

Post by fruit6 »

чтобы "свои" не догадались в первую очередь.
нужно помнить что "свои" это самые непосредственные конкуренты за еду и бабло.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Неожиданное увольнение

Post by Интеррапт »

fruit6 wrote:чтобы "свои" не догадались в первую очередь.
нужно помнить что "свои" это самые непосредственные конкуренты за еду и бабло.
Во блин, эдак же и самому можно запутаться. Приходит QA и спрашивает - слушай я тут такой баг нарефакторил сегодня, получится его зарефакторить до следующего рефактора релиза?

Return to “Работа и Карьера в IT”