Здравствуйте, dimgel, Вы писали:
AN>>P.S. Забыл, когда в последний раз отладчиком пользовался. Обычно для отладки сейчас использую тесты и логи.
D>А я вот щас на новой работе в код въезжаю, и имею заявить, что нашёл прекрасное применение отладчику в условиях, когда непонятно, что это спагетти из пары-тройки десятков туда-сюда-делегатов делает.
Ну так изучение уже существующего кода. Но если у тебя есть возможность применить отладчик с остановкой выполнения — то это уже тепличные условия. Во многих реальных можно только логи писать, и то не сильно подробные...
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Например, заказчик нарисовал отрезок длиной 1м. Любые измерения линейкой говорят ему, что это 1м. Но вы предлагаете ему свою изумительную линейку, которая выдает любой результат, и 1.1м, и 0.5м и прочее в зависимости от массы обстоятельств. Наверное, клиент придет в восторг и купит у вас целую партию таких удивительных линеек.
Я предлагаю линейку, которая на ряду с величиной 1 м будет показывать, например, и 100 см.
Кстати некоторые реальные физические линейки так и делают: на ряду с отсечками в метрах есть деления для сантиметров и миллиметров.
Здравствуйте, netch80, Вы писали:
N>Ну так изучение уже существующего кода. Но если у тебя есть возможность применить отладчик с остановкой выполнения — то это уже тепличные условия. Во многих реальных можно только логи писать, и то не сильно подробные...
В своей среде разработки применение отладчика для анализа чужого кода — нормальное явление. Надо сказать, помогает. Я вот недавно разбирался с одной хреновиной. Непонятно было, откуда она некоторые установки читает. Казалось бы, конфигурационный файл перед глазами, функции вполне прозрачные, а все же пока отладчик не запустил — не увидел. А с ним — пару минут всего заняло. Точку останова определил, и всего делов.
В одном из прошлых проектов видел одного деятеля, который требовал установить ему студию на рабочем сервере. Что-то у него там все время вылезало, чего он у себя никак поймать не мог.
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Здравствуйте, jhfrek, Вы писали:
J>>если GhostCoders не приврал для выгораживания себя, то репутация компании только улучшилась — в ней не держат людей тормозящих процесс разработки и устраивающих споры на ровном месте.
ЮЛ>Это называется не "приврал", а солгал. Лжет он, как водится, к пущей выгоде для себя, но белые нитки легко просвечивают, вот и Артём смог сопоставить одно с другим и выявить нестыковку. Хотя этот пример всего лишь один из множества (я даже затрудняюсь сказать, когда бы он не лгал).
Почему соглал? Ты прецепился к проекту ZERO_CHECK, начал его модифицировать, все попытки отговорить тебя были безрезультатны, было такое?
ЮЛ>Например, "история" с ZERO_CHECK возникла в связи с тем, что клиент получил неправильную 64-битовую сборку инсталляции (часть прошла из 32-битовой), и причина была в какой то переменной авто-скрипта. Да, пока обезьянки глумились, я по своему пересобрал инсталляцию, и ее отправили клиенту. Через 2 дня обезьянки исправили наконец свой говно-скрипт и обрадовали меня тем, что они теперь знают, как "нужно". Я ответил, что мне это сейчас уже больше не нужно. ЮЛ>В смутном сознании Манагера эта история отложилась как "мои безумные поиски того, чего нет, потеря времени и проч, гоготание обезьянок в течение рабочего дня (кстати, чем полезным они при этом занимались?)"
Так, Юр ты помнишь в чем была причина? Или амнезия?
Оказывается, предыдущий человек, который работал на компьютере Юры, прописал жестко путь к установленной библиотеки QT путем модификации файла С:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindQt.cmake !
Проблема была не в наших скриптах, а в жестком харокоде из-за которого мы потеряли несколько дней.
Так вот, мы предложили Юре переустановить CMake для того, чтобы файл FindQt.cmake стал оригинальным.
Но Юра начал опять противиться, типа заработало и ладно! А тот факт что ему прийдется опять переключаться между библиотеками Qt разной разрядности и что можно опять забыть про этот файл и снова потерять несколько дней — это для него не аргументы!
Юра еще начал спорить, что модификация скрипта FindQt.cmake — лучше решение!
Мы ему говорим, что из-за такого "решения" мы сейчас потеряли несколько дней и это лучший аргумент, чтобы больше так не делать!
А теперь Юра называет стандартный файл скрипта FindQt.cmake уже "нашим" "говно" скриптом.
Конечно потеря рабочего дня — очень плохо. Но не надо быть таким упрямым, а то доходило до абсурда.
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Например, заказчик нарисовал отрезок длиной 1м. Любые измерения линейкой говорят ему, что это 1м. Но вы предлагаете ему свою изумительную линейку, которая выдает любой результат, и 1.1м, и 0.5м и прочее в зависимости от массы обстоятельств. Наверное, клиент придет в восторг и купит у вас целую партию таких удивительных линеек.
вообще-то такие линейки, а вернее программы, вполне себе продаются. Если клиенту ничего не говорит цифра 100 градусов цельсия, он предпочтет купить линейку на которой будет написано 200 с копейками градусов Фаренгейта или 60 градусов по Реомюру.
Здравствуйте, Bender, Вы писали:
B>Конкретная ситуация: на листе бумаги изображены две карты с разным масштабом (типичная кстати ситуация). Локальное растояние (вычисленное из локальных координат) для каждой из карт имеет вполне конкретное и практичное значение. И даже глобальное растояние в пространстве листа имеет своё практическое значение для расположения аннтоаций.
Безусловно, слову "расстояние" можно придать разный смысл, если и измерять по разному. И при том всякое число будет чему-то соответствовать. Вы не о том спорите. Вопрос стоял просто — можно ли правильно вычислить одно и то же расстояние в локальных координатах в общем случае без метрического тензора. Посмотрите еще раз пост Манагера, чтобы убедиться, что вопрос не стоял об интерпретации смысла расстояния. Смысл — как он и ожидался заказчиком — был в определенном физическом расстоянии между точками. Никто не думал менять метрику пространства — а смысл вашего замечания именно в этом.
Тем более никому не нужно много метрик, чтобы только запутать вопрос.
B>Конечно можно, и я даже приводил примеры где длинный код может быть как-то оправдан. Никаких весомых аргументов в пользу длины вашего кода я не услышал (это при том, что код элментарно разбивается на части).
Ну так и я не услышал пока весомых аргументов в пользу "элементарного" разбиения. (При том, что от "неэлементарного" польза заведомо есть, тут мы с вами согласны, как согласны и в том, что это требует массу времени)
Здравствуйте, GhostCoders, Вы писали:
GC>Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>>Здравствуйте, jhfrek, Вы писали:
J>>>если GhostCoders не приврал для выгораживания себя, то репутация компании только улучшилась — в ней не держат людей тормозящих процесс разработки и устраивающих споры на ровном месте.
ЮЛ>>Это называется не "приврал", а солгал. Лжет он, как водится, к пущей выгоде для себя, но белые нитки легко просвечивают, вот и Артём смог сопоставить одно с другим и выявить нестыковку. Хотя этот пример всего лишь один из множества (я даже затрудняюсь сказать, когда бы он не лгал).
GC>Почему соглал? Ты прецепился к проекту ZERO_CHECK, начал его модифицировать, все попытки отговорить тебя были безрезультатны, было такое?
ЮЛ>>Например, "история" с ZERO_CHECK возникла в связи с тем, что клиент получил неправильную 64-битовую сборку инсталляции (часть прошла из 32-битовой), и причина была в какой то переменной авто-скрипта. Да, пока обезьянки глумились, я по своему пересобрал инсталляцию, и ее отправили клиенту. Через 2 дня обезьянки исправили наконец свой говно-скрипт и обрадовали меня тем, что они теперь знают, как "нужно". Я ответил, что мне это сейчас уже больше не нужно. ЮЛ>>В смутном сознании Манагера эта история отложилась как "мои безумные поиски того, чего нет, потеря времени и проч, гоготание обезьянок в течение рабочего дня (кстати, чем полезным они при этом занимались?)"
GC>Так, Юр ты помнишь в чем была причина? Или амнезия? GC>Оказывается, предыдущий человек, который работал на компьютере Юры, прописал жестко путь к установленной библиотеки QT путем модификации файла GC>С:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindQt.cmake !
GC>Проблема была не в наших скриптах, а в жестком харокоде из-за которого мы потеряли несколько дней.
GC>Так вот, мы предложили Юре переустановить CMake для того, чтобы файл FindQt.cmake стал оригинальным. GC>Но Юра начал опять противиться, типа заработало и ладно! А тот факт что ему прийдется опять переключаться между библиотеками Qt разной разрядности и что можно опять забыть про этот файл и снова потерять несколько дней — это для него не аргументы! GC>Юра еще начал спорить, что модификация скрипта FindQt.cmake — лучше решение! GC>Мы ему говорим, что из-за такого "решения" мы сейчас потеряли несколько дней и это лучший аргумент, чтобы больше так не делать!
GC>А теперь Юра называет стандартный файл скрипта FindQt.cmake уже "нашим" "говно" скриптом.
GC>Конечно потеря рабочего дня — очень плохо. Но не надо быть таким упрямым, а то доходило до абсурда.
Еще добавлю. Первым шагом там нужно было создать файл qt.conf с параметром prefix. здесь
Это мы знали и это действие произвели. Но почему-то все равно QT подхватывался не с той папки (не той разрядоности).
Начали копать — выяснилась проблема с FindQt.cmake.
Здравствуйте, jhfrek, Вы писали:
J>вообще-то такие линейки, а вернее программы, вполне себе продаются. Если клиенту ничего не говорит цифра 100 градусов цельсия, он предпочтет купить линейку на которой будет написано 200 с копейками градусов Фаренгейта или 60 градусов по Реомюру.
А разговор идет об еще более удивительных линейках — когда вам показывают температуру по Реомюру, а подписывают будто по Цельсию, или вообще это в реальности оказывается не температура, а вес в килограммах.
Здравствуйте, netch80, Вы писали:
N>Ну так изучение уже существующего кода. Но если у тебя есть возможность применить отладчик с остановкой выполнения — то это уже тепличные условия. Во многих реальных можно только логи писать, и то не сильно подробные...
Здравствуйте, GhostCoders, Вы писали:
GC>>Оказывается, предыдущий человек, который работал на компьютере Юры, прописал жестко путь к установленной библиотеки QT путем модификации файла GC>>Проблема была не в наших скриптах, а в жестком харокоде из-за которого мы потеряли несколько дней.
Здравствуйте, Privalov, Вы писали:
P>В одном из прошлых проектов видел одного деятеля, который требовал установить ему студию на рабочем сервере. Что-то у него там все время вылезало, чего он у себя никак поймать не мог.
Хм. Может быть окружение было не таким? На рабочих серверах, как правило, иная политика безопасности, стоят различные хитрые шаманские устройства или программы.
Поэтому либо надо иметь полную копию рабочего сервера со всем сетевым окружением, либо тестировать нововыложенный код путём запуска тестовых сценариев с полным последующим удалением всех следов всех созданных данных. Разве не так?
Здравствуйте, wety, Вы писали:
W>Хм. Может быть окружение было не таким? На рабочих серверах, как правило, иная политика безопасности, стоят различные хитрые шаманские устройства или программы.
Сейчас уже не вспомню. Я к той хреновине почти касательства не имел, когда она отлаживалась. Помню только того парня, как он чуть ли не с дубиной на сисадминов бросался, требуя установить ему студию. Некоторое время спустя, после того, как он уволился, я нашел в ней пару багов. А после ее вообще заменили.
W>Поэтому либо надо иметь полную копию рабочего сервера со всем сетевым окружением, либо тестировать нововыложенный код путём запуска тестовых сценариев с полным последующим удалением всех следов всех созданных данных. Разве не так?
Полную копию рабочего сервера, хранящего реальные данные, разработчикам никто не даст. Во всяком случае имена, фамилии, н некоторая другая информация подвергается обфускации. Для тестирования на рабочем сервере можно завести пару-тройку фиктивных пользователей. Но проверить на них можно только правильность этих самых сетевых настроек.
Здравствуйте, SkyDance, Вы писали:
GC>>Так, Юр ты помнишь в чем была причина? Или амнезия? GC>>Оказывается, предыдущий человек
SD>GhostCoders, вы точно менеджер?
Вообще-то нет. Я даже никогда им не был. А почему Юрий так меня назвал — загадка.
У него там какая-то классовая теория, я уж точно не знаю.
SD>Как-то недостойно вы себя ведете.
Возможно. Но меня довел Юрий.
Здравствуйте, k123, Вы писали:
K>Ваш код реально ужасен — я сталкивался с таким — поддерживать мука. K>Такое впечатление что вы никогда не слышали о рефакторинге. Я знаю что так обычно пишут K>люди с хорошей памятью старой школы ) (Ну и студенты конечно) K>Оставшиеся разработчики несчастные люди — теперь им поддерживать это говно — похоже вы нисколько не K>уважаете(ли) труд других. K>Все это следствие это серьезных косяков вашего руководителя: K> — Вас нужно было уволить гораздо раньше (или провести разъяснительную беседу/послать на курсы).
С первым согласен. Попытка провести разъяснительную беседу закончилась демегогией.
K> — конечно отсутствие кодеревью
Попытка сделать код ревью закончилась демагогией.
K> — документа о стиле кодирования.
Юрий игнорирует такие документы. Это для него "молитвослов", и свод правил "кровавого диктатора".
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>гейропа
Ой какие больки у тебя в голове.
ЮЛ>Перельман отказался от миллиона — это естественно.
Отказываться от заслуженного вознаграждения это не естественно. Не хочешь забирать себе — отдай на благотворительность.
ЮЛ> Так поступили бы все честные люди, не мартышки живущие одним потреблением.
Так поступают люди не от мира сего. К честности не имеет никакого отношения.
ЮЛ> Перельман считал, что в равной мере премию заслуживал и его соавтор.
Если считал то мог просто отдать половину соавтору.
ЮЛ> И это тоже понятно — честные люди не станут жить на (нечестно заработанные) деньги
Что значит "нечестно"? Он их ни у кого не крал, всё вбелую и официально.
ЮЛ>словно Сальери, отравившему Моцарта
Сальери не травил Моцарта.
ЮЛ>Занятие математикой — это удовольствие, которое не приносит денег, да и не обязано приносить.
Ну так чего ты тут расплакался. Уволили — надо радоваться тому, что больше ничего не мешает заниматься математикой в своё удовольствие.
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Только гений может считать себя ниже или вровень с уличным музыкантом, и только сноб — превозносить свои мнимые достижения.
Это как-то рассходится со следующими вашими словами:
Вы ведь не станете утверждать, что присутствующие обезьянки адекватны?
Была пара хлюстов с раздутым ЧСВ
Да, местному офисному планктону пища не по зубам.
Годится ли любой сброд, взятый с улицы, или тот зависимый от воли начальства офисный планктон, на роль команды из книги МакКонелла?
Здравствуйте, Privalov, Вы писали:
P>Полную копию рабочего сервера, хранящего реальные данные, разработчикам никто не даст. Во всяком случае имена, фамилии, н некоторая другая информация подвергается обфускации.
С этим согласен.
P> Для тестирования на рабочем сервере можно завести пару-тройку фиктивных пользователей. Но проверить на них можно только правильность этих самых сетевых настроек.
А вот с этим не совсем согласен. Так как пользователей и данных мало, то проблемы
— переполнения списков в dropdown,
— отсутствия представителей (заместителей на время отпуска/болезни),
— печатных формам и/или форм отображения/редактирования в случаях, когда данные не умещаются в полях ввода/редактирования, в dropdown,
— производительности
выявлены не будут. Так? Так!
Априори ни один тестовый сценарий не даст 100% гарантии именно от багов на рабочем сервере.
Так что чем больше будет данных, тем лучше.
Это правда, что само по себе тестирование и внедрение, настройка стоят как минимум 65-70% от стоимости разработки?
Расскажи, пожалуйста, каков процент времени у тебя занимает именно тестирование или написание кода по защите от текущих или будущих возможных багов?
В банковском секторе и в особо критически важных ПО (например ПО на ядерных станциях и испытательных стендов) блоков по отработке аварийных веток кода очень много. Так?
Здравствуйте, GhostCoders, Вы писали:
GC>Вообще-то нет. Я даже никогда им не был. А почему Юрий так меня назвал — загадка.
GC>Я дал задание Юре разобраться в ситуации. Объяснил, как работает текущая система, и что тут нужно подумать, что лучше сделать варинат №1 или вариант №2.
GC>На следующий день я решил что пора решительно поговорить с Юрой. Когда, я ему сообщил о том, что он уволен, Юра начал говорить о том, что мы не понимаем основ математики,
Действительно, Вы давали Юрию задания, Вы же его увольняли- и внезапно Вы не менеджер. Юре это показалось.
GC>Возможно. Но меня довел Юрий.
PS Юрию- некто ПризрачныеКодеры признался, что он не менеджер и уволить Вас не мог. Но Вы его довели