• Достоинства и недостатки ООП более детально?

    kinglostov
    @kinglostov
    просто lostov
    Идеи ООП (Хоар, 1966, “Совместное использование кода”):
    • Инкапсуляция (объединение данных и действий над ними, или для каждого типа данных – свои функции-действия);
    • Наследование (модификация развития программы за счет надстроек; вместо изменения написаного кода – делаем над ним надстройки);
    • Организация взаимодействия между объектами; перенесение взаимодействия объектов из физического мира в программирование.
    Два вида взаимодействия:
    1. Акцессорное – вступление в контакт, получение информации от объектов (синхронное взаимодействие)
    2. Событийное взаимодействие – взаимодействие, связанное с изменением состояния объекта (асинхронное взаимодействие)
    Объект – конкретная реализация абстрактного типа, обладающий характеристиками состояния, поведения, индивидуальности.

    Состояние – один из возможных вариантов условий существований объекта.

    Поведение – описание объекта в терминах изменения его состояния и передача сообщений (данных) в процессе воздействия.

    Индивидуальность – сущность объекта, отличающееся от других объектов.

    Действие – деятельность или операция, которые должны быть выполнены над объектом.

    Модель Мура:
    • Состоит из множества состояний, каждое состояние представляет стадию в жизненном цикле типичного экземпляра.
    • Из множества событий: каждое событие представляет собой инцидент или указание на то, что происходит эволюционирование.
    • Из (множества) правил перехода определяет какое новое состояние получает в следствие какого-нибудь события (событие может и не изменять объект)
    • Из действий – деятельность или операция который должен быть выполнены над объектом чтобы он мог достичь состояния (каждому действию соответствует состояние).
    Категории объектов:
    • Реальные объекты – абстракция фактического существующего объекта реального мира.
    • Роли – абстракции цели или назначения человека, части оборудования или организации.
    • Инциденты – абстракция чего-то происшедшего или случившегося (наводнение, скачёк напряжения, выборы). -
    • Взаимодействия – объекты получаемые из отношений между другими объектами (перекресток, договор, взятка). -
    • Спецификации – используется для представления правил, критериев качества, стандартов (правила дорожного движения, распорядок дня).
    Преимущества ООП:
    • Возможность легкой модификации (при грамотном анализе и проектировании)
    • Возможность отката при наличии версий
    • Более легкая расширяемость
    • «Более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку.
    • Сокращение количества межмодульных вызовов и уменьшение объемов информации, передаваемой между модулями.
    • Увеличивается показатель повторного использования кода.
    Недостатки ООП:
    • Требуется другая квалификация
    • Резко увеличивается время на анализ и проектирование систем
    • Увеличение времени выполнения
    • Размер кода увеличивается :interrobang:
    • Неэффективно с точки зрения памяти (мертвый код - тот, который не используется) :interrobang:
    • Сложность распределения работ на начальном этапе
    • Себестоимость больше
    Ответ написан
    1 комментарий
  • Какие стратегии повышения зарплаты существуют?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Стратегия руководителя полностью зависит от руководителя и финансов.

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

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

    3. Кроме руководителя - есть политика компании.

    В одной компании нужны простые середнячки, и держать там дорогих сеньоров невыгодно - достаточно 1-2 человека с нормальной зарплатой, на которых держится архитектура, а рост остальных компании невыгоден, так как повышать им зарплату неоткуда. В таких будет либо текучка, либо работать небольшая команда некарьеристов, которых все устраивает.
    В другой компании выгодно выращивать своих специалистов и продавать их подороже. Там будет приветствоваться рост и повышение зарплаты. Но опять таки зависит от финансирования - есть куда перевести подросших людей - хорошо. Некуда - какое-то время подержат, но просто так повышать не будут.

    В общем возможный рост зарплаты конечно зависит от компании и как компания зарабатывает.
    Ответ написан
    3 комментария
  • Какие стратегии повышения зарплаты существуют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

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

    Из этого вывод, стратегия проста - увеличивайте собственный профессиональный уровень на столько, чтобы свободно менять компанию, как только вас что-то перестало устраивать.
    Ответ написан
    4 комментария
  • Развитие Java инженера?

    Какие знания требуются от Java инженера?

    На Тостере мало работодателей, ещё меньше связанных с Явой - специфическая технология.
    Ответ на ваш вопрос лучше искать на сайтах вакансий/фриланса по соответствующим поисковым запросам.
    Ответ написан
    Комментировать