Согласен. Те, кто так не делает, не являются плохими разработчиками. Но к себе и своим детям отношусь очень критично. Возможно, даже крайне. Каюсь, так же воспитываю своих подчиненных, но в более мягкой форме. И это работает.
Хм. Действительно. Рассмотрел это все с точки зрения внедрения готового продукта(изделия). А не с точки зрения предварительного анализа. Еще раз подтверждение того, что ситуацию нужно рассматривать со всех точек зрения.
Полностью с вами согласен. Например, на Iveco Stralis 3 шины CAN, и если завесить основную, то работоспособность узлов сохраняется (можно завести двигатель и в ручном режиме переключать скорости и машина едет на «аварийке»). НО, возьмем машину Subaru Outback 4 поколения 2010 года выпуска. Шина диагностическая CAN. Если не соблюдать протокол передачи, или начать «спамить» на шине — то возникает ошибка, из за которой периодически «клинит» электроусилитель руля.
Он должен был научится там, где учился на программиста. Там же учат думать, анализировать. Если этих знаний недостаточно, то он должен их развивать. Просто в данном примере, ситуация достаточно критическая. Могут пострадать люди (в моральном и материальном плане) и ущерб от такой «недодумки» для работодателя может быть очень большим. А теперь давайте представим, что Славик разрабатывает, например систему навигации в авто. Нет, не банально, как в Америке, дама заедет в озеро. А все посложнее. Например, завесим шину CAN. И в критический момент (вероятность меньше 0.001 но НЕНУЛЕВАЯ), ЭУР клинит или АБС срабатывает с задержкой. И все, в лучшем случае машина разбита. В худшем — увы. К чему все это: если разрабатывает человек что то, то он должен продумать все ситуации, даже запуск кота в микроволновку. Если человек не продумал и не посовещался (Славик то ни к кому не обратился за помощью или консультацией — верно ведь?), он понадеялся, что он опытный. И это его ошибка.
Увы, не знаю. Сам постоянно сталкиваюсь с этим, когда приходят новички и начинают так делать (не только в разработке ПО, а и в других сферах). Приходится, если сроки не горят, давать проект, а потом наказывать денежно, чтоб в голове откладывалось. Если проект серьезный. то просто не допускать и все.
Там нет страшных гибридов. Я использовал К-линию и протокол Subaru. Если интересно — вот статья www.drive2.ru/l/499650795206082616. Пока в раздумьях: имеет ли смысл здесь выкладывать что то подобное и будет ли это интересно сообществу.
Я таких программистов воспитываю, именно под свои цели и задачи. Да, свои методы, но поверьте, они работают.
Даю, возможности. Понимаю, что человеку свойственно ошибаться. И показываю, что цена их ошибки иногда может быть очень высока.
В большинстве — да, сложное ПО разрабатывают команды. Но, везде есть исключения.
Мы имеем в виду разные ситуации.