LINUX.ORG.RU

Как убедить тимлида притянуть в проект Boost

 , , ,


2

8

Здравствуйте.

Есть проект. Почти весь написан на C++, GUI + очень малая часть функционала написана на C#. Целевая платформа: оффтопик.

Конечно же есть библиотека с утилитами всякими. И вот там тимлид сидит и пишет свои костыли для работы с файловой системой: итерация по директории, удаление файла и т.д.

Я никак не могу, зачем он это делает (NIH?), и стараюсь убедить его, что мол есть же Boost.Filesystem, юзай его. Ответ таков: Boost тяжёлый, тянуть не хочется да и вообще лень. А вот мои костыли это просто лучшее решение. И это после того, как я регулярно в его костылях правлю баги какие-нибудь.

И это касается не только Filesystem. Он ещё своё жалкое подобие lexical_cast впихнул и много чего ещё...

Откуда такая может быть ненависть к Boost? И как с этим можно бороться? Кто что может посоветовать? Может у кого есть свои истории успеха.

Сменить тимлида\компанию не предлагать.

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

Предлагаешь писать на ассемблере, потому что он быстрее?

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

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

Тем, что когда проект начинали, шарпа ещё не было. И да, у нас есть свой драйвер. И что-то мне подсказывает, что на шарпах драйвера не пишут

zamazan4ik ★★
() автор топика

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

Solexid
()

предлагаю переименовать тред в «как убить проект»

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

Нет, ТСу не хочется новых велосипедов в проекте

zamazan4ik ★★
() автор топика
Ответ на: ЗДОХНИ МРАЗЬ от mittorn

И почему же я умереть должен? Boost.filesystem не такая и плохая либа

zamazan4ik ★★
() автор топика
Ответ на: ЗДОХНИ МРАЗЬ от mittorn

Только без ошибок надо писать!

А так — поддерживаю.

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

а по своей деревянности и однозначности он жабу даже превосходит.

Можно несколько конкретных примеров?

DarkEld3r ★★★★★
()
Ответ на: комментарий от PVS-Studio_engineer

Эта статья многое объяснит: Сопротивляйтесь добавлению в проект новых библиотек

Господин Карпов, а почему вы решили, что ваше мнение в этом вопросе чего-то стоит?

Вы мегаразработчик, уровня Торвальдса? Или человек, который продвинул разработку куда-то вперед, как Вирт, Гослинг или Саймон Петер-Джонс? Или у вас за плечами такие же масштабные проекты, как у Фредерика Брукса?

Где можно посмотреть исходники хотя бы одного вашего проекта более-менее приличного объема и сложности, дабы сделать вывод о качестве ваших решений, о том, какие последствия они имели и во что обошлись?

То, что вы сделали свой продукт, который не умеете рекламировать так, чтобы не вызывать отрицательной реакции, еще не говорит о том, что вы нормально пишете код и можете выбирать хорошие архитектурные решения. Может ваш PVS-Studio — это говнокод, в который нормальные люди и заглядывать не хотят, а работают с вами лишь те, кого вы можете загнобить и заставить фотографироваться в костумах единорогов. И без статического анализатора вы сами ничего толком написать не можете, количество багов будет зашкаливать. Что, собственно, и толкнуло вас 10 лет назад на разработку Viva64.

В общем, понятно, что цель вашего наброса еще раз напомнить о себе и о вашем продукте. Но блин, меру же знать нужно.

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

Эка у тебя пригорело. И стоил ли оно того? :D

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

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

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

Нет. Сошлись на том, что как filesystem завезут, то все велосипеды сразу выкосим.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от PVS-Studio_engineer

Ну так передайте господину Карпову, думаю, вы с ним на прямой связи.

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

А вы даже статью не прочитали, а желчь литрами льется.

И с чего вы взяли, что не прочитал? Диагнозы по фотографии ставите?

Как раз таки прочитал и офигел от написанного.

Аргументы против того, что там написано будут?

Тут вот какая штука: начни аргументированно опровергать тезисы из статьи и это автоматически начнет привлекать внимание к тому инструменту, который автор статьи хочет прорекламировать. А это именно то, для чего наборос и был сделан.

А то видно лишь одну неприкрытую ненависть.

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

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

Почему это выгодно господину Карпову понятно. Чем больше говнокода наплодят разработчики, не занимающиеся серьезно разработкой библиотек, тем больше им нужны будут инструменты для поиска ошибок в их говнокоде. А то ведь возьмут одну стороннюю отлаженную библиотеку, которой пользуются тысячи людей и в которой баги отлавливаются и вычищаются регулярно, затем другую, потом третью, склеют все это дело небольшим количеством прикладного кода и все. Эдак кормовая база для Карпова и Ко снизится.

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

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

Эта статья многое объяснит: Можем ли мы доверять используемым библиотекам?

PVS-Studio_engineer
()
Ответ на: комментарий от eao197

не занимающиеся серьезно разработкой библиотек

каких именно библиотек? прикручивание модели програмирования к языку который эту модель на указателе вертел?))

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

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

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

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

И в том числе с помощью статического анализа.

Эдак кормовая база для Карпова и Ко снизится.

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

vq156 ★★
()
Ответ на: комментарий от PVS-Studio_engineer

Возвращаемся к исходному вопросу: а можем ли доверять мнению господина Карпова?

С чего вообще верить в то, что г.Карпов что-то понимает в софтостроении?

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

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

Так что еще раз: почему мнение г.Карпова по поводу выбора или не выбора сторонних библиотек можно считать авторитетным?

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

Статический анализ позволяет этих ошибок избежать.
И в том числе с помощью статического анализа.

Я не понял, вы тоже на подсосе у Карпова?

При чем здесь вообще статический анализ?

Статью сперва прочтите, потом будете других обвинять в том, что они с первоисточниками не ознакомились. Там Карпов приводит пример: мол, вместо того, чтобы тянуть к себе чужую реализацию регулярных выражений, он в книжке Beautiful Code увидел простенькую реализацию на пару страниц кода. И утащил ее к себе в проект. Мол, реализация дохлая и примитивная, но ему хватает и это хорошо. Поэтому лучше всем так делать.

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

Подумает какой-нибудь зеленый разработчик, что Карпов гуру от программинга, последует такому вредному совету и навелосипедит свою реализацию регулярок, вместо того, чтобы какой-нибудь PCRE подтянуть. Потратит кучу времени, сделает что-то плохоподдерживаемое и незадокументированное, да еще и дыр в безопасности может наплодить, если окажется, что на вход будут подаваться сырые данные из сети.

Но зачем об этом думать, есть же ведь статический анализ.

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

Возвращаемся к исходному вопросу: а можем ли доверять мнению господина Карпова?
Так что еще раз: почему мнение г.Карпова по поводу выбора или не выбора сторонних библиотек можно считать авторитетным?

В мире много авторитетных разработчиков, ведущих публичную деятельность. Вам справку в каком формате принести?

PVS-Studio_engineer
()
Ответ на: комментарий от eao197

Я не понял, вы тоже на подсосе у Карпова?

Ожидал такого вопроса, но нет. Мне в принципе всеравно.
Чем сложнее реализация, больше вероятность ошибки. А ошибки совершают даже профессионалы. Собсна этим подходом видимо Карпов и руководствовался. И отчасти это правильно.

Остальное комментировать не буду. Ваша личная неприязнь к Карпову прямо лезет изо всех щелей. Я же просто высказал нейтральное мнение.

vq156 ★★
()
Ответ на: комментарий от PVS-Studio_engineer

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

И?

Вам справку в каком формате принести?

Здравого смысла, если у вас в компании это найдется.

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

Но зачем об этом думать, есть же ведь статический анализ.

Документация по статическим анализаторам - богатейшее пособие по языкам программирования.

Сломайте мне рог, если я не прав!

PVS-Studio_engineer
()
Ответ на: комментарий от vq156

Чем сложнее реализация, больше вероятность ошибки. А ошибки совершают даже профессионалы. Собсна этим подходом видимо Карпов и руководствовался. И отчасти это правильно.

Ок. Итак, представим, что вы разработчик, которому нужно решить нетривиальную задачу. Допустим, задействовать хитрый lock-free контейнер дабы быстро расшить узкое место в многопоточном коде.

Будете ли вы делать реализацию этого lock-free контейнера сами или поищете готовую реализацию в сторонних библиотеках?

eao197 ★★★★★
()
Ответ на: комментарий от PVS-Studio_engineer

Документация по статическим анализаторам - богатейшее пособие по языкам программирования.

Вообще-то языки программирования — это инструменты, которые применяются для решения прикладных задач. Как и библиотеки.

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

Так что рекомендации по возможности все делать своими руками, как в притянутой вами статье, выглядят довольно странно.

Сломайте мне рог, если я не прав!

Успокойтесь, не нужно так кричать. Ну или заберите у Карпова клавиатуру.

eao197 ★★★★★
()
Ответ на: комментарий от PVS-Studio_engineer

PVS-Studio и GitHub-сообщество (PVS-Studio_engineer) 4.6 Спам

Отличный план отправить читать удаленную новость.

someoneelsenotme
()
Ответ на: комментарий от PVS-Studio_engineer

PVS - дорогущая куча говнища.

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

Хах, что же Вам так в Boost не нравится?

Ну, у пивас-студия есть бесплатный способ использования, с комментариями. И наверное они подешевле будут Coverity (хоть и коверити бесплатен для Open Source). А вообще, можно задаром пользоваться CppCheck.

zamazan4ik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.