Здравствуйте, smeeld, Вы писали:
S>У меня есть претензии к коду в boost. Юрий Лазарев, перелогиньтесь
то, что вы чего-то не понимаете, ничего не говорит о том, чего вы не понимаете, зато все говорит о вас, и это истина.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
V>>Про идеи — это вы с Платоном поговорите. Программирование же — это ремесло. Как токарь. Не более. И надо делать все просто и эффективно.
V>>И да, код должен быть понятен любому дураку. И кстати, не надо всех считать тупее себя.
С>Вот к вам и будут относиться как к токарю.
С>"На тебе пятак на водку и пошел отсюда вон".
Вы токаря с уличным попрошайкой не спутали?
Ну и если вы лично так относитесь к токарям, то это вас определённым образом характеризует, а не их.
Здравствуйте, niXman, Вы писали:
X>то, что вы чего-то не понимаете, ничего не говорит о том, чего вы не понимаете, зато все говорит о вас, и это истина.
Конечно, да, ничего оригинальнее придумать не смогли? Всё прекрасно понимаю и разбираю, но от этого реализации и код
в boost менее уродливым не становятся, тем более, что есть более качественно написанные альтернативы многому из того,
что есть в boost.
А если хотите казаться таким знатоком boost, то скажите, зачем описания сущностей раскидывать по разным, отдалённым
закоулкам в дереве исходников? Про количество мелких сущностей можно и не разговать, ибо это такой boost-вский способ
составления производительного кода, хотя есть и куча иных.
Здравствуйте, smeeld, Вы писали:
S>Конечно, да, ничего оригинальнее придумать не смогли?
мне и это не пришлось придумывать, как бы вы не пытались выставить это именно так.
S>... зачем описания сущностей раскидывать по разным, отдалённым S>закоулкам в дереве исходников?
прочтите еще раз мой предыдущий пост, и перестаньте лгать хотя бы себе.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>прочтите еще раз мой предыдущий пост, и перестаньте лгать хотя бы себе.
Тот пост второй раз читать смысла нет, ибо там то, что кто-то считает, что кто-то непонимает,
только потому, что он, собстсвенно, понимает.
Так что там c boost? Зачем, например, в boost::coroutine, так дробить код на мелкие сущности и раскидывать
их по разным отдалённым папкам. Это конкретный вопрос по boost. Не увиливайте, если пытаетесь выставиться
крутым спецом по boost, вроде, рассуждая о понятливости или непонятливости кого-то на основании его высказываний
о boost, то будьте таковым, без пустобрёшетсва.
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Понятен любому... дураку, хотите вы сказать? А что ему надо бы знать теорию графов и вообще хотеть разбираться в коде, это не в счет? А у нас сплошь и рядом за отладку и расширение садятся те, кто не в зуб ногой. Это и есть вид халтуры, а я почему то должен этому подмахивать, кладя всюду соломку в своем коде. ЮЛ>Я не против рефакторинга, если он действительно удачен и полезен для дела. Я против мелочных придирок и тупого невежества манагеров. Но рефакторинг, на мой взгляд, надо делать ПОСЛЕ написания алгоритма, и тем более не в ущерб простоте его написания.
Рефакторинг делается когда алгоритм давным давно написан, сотни раз переписан, результат работает, но разбираться в нём уже сложно. В этом случае надо начинать делать рефакторинг, т.к. дальше работать с кодом будет сложно. Но если изменение кода не предполагается, то делать рефакторинг не надо.
Для нового же кода рефакторинг это что-то странное. Какое-то минимальное качество должно быть. Причём все правила, которые используются в проекте, должны использоваться при написании кода. Если надо члены класса называть, начиная с "m_", значит во всём новом коде они должны содержать этот префикс. При этом в проекте может быть много кусков старого кода, где это не так. Но для нового кода такое не позволительно.
Здравствуйте, jazzer, Вы писали:
V>>Не затрагивая профессиональные навыки, а только психологию, скажу, что ты, похоже, из тех людей, которые лучше будут часами трындеть, чем просто пойдут и сделают.
J>Ну, справедливости ради, если человек только что потерял работу, то вполне понятно его желание "потрындеть" по этому поводу
Чем больше он будет тут трындеть, тем меньше у него потом будет шансов найти работу.
Здравствуйте, Юрий Лазарев, Вы писали:
0>>Отчего же, бывают такие программы. 0>>Это такие, которыми никто не пользуется
ЮЛ>Как ни странно, пользуются. У нас полгорода из агенств недвижимости уже лет 8 юзают мою программу по недвижимости, которую я вообще не сопровождаю. (Правда, и денег оттого не получаю).
Обычно после того как программа написана, и её начинают использовать, у пользователей появляются новые и какие-то странные пожелания по изменению программы. Чего они раньше молчали непонятно, скорее всего просто не знали, что им нужно, но постепенно в процессе использования программы, люди формулируют свои требования. И программу приходится менять.
Здравствуйте, Privalov, Вы писали:
P>Один из лучших проектов, где я работал, был сделанн на очень древнем Бейсике. Читабельные программы на нем писать невозможно по определению. Имя переменной могла включать не более 2 символов, и второй, если был, то обязательно цифра. Ну и много чего еще. Так вот, команда сделала невозможное. Нам не было ни одной строчки макаронного кода. Практически не было глюков. Но все время требовалось что-нибудь поменять: количество выводимых разрядов, или какую-нибудь шкалу, да мало ли. Главное, постоянно. И в течение примерно 2 лет я справлялся с этим в одиночку.
Лучше такой код прогонять через что-нибудь. Хотя бы через препроцессор Си.
В общем, ограничение хотя бы на размер переменных снять не сложно при желании.
Здравствуйте, alzt, Вы писали:
A>Чем больше он будет тут трындеть, тем меньше у него потом будет шансов найти работу.
Вы правы во всем, кроме этого. Шансов найти работу у меня не может стать меньше, потому что их вовсе нет. С++ у нас в городе никто не занимается, есть мелкие СУБДшники да порой 1С. Очевидно, никто не стал бы задерживаться у такого Манагера, будь возможность уйти в другое место.
Здравствуйте, Юрий Лазарев, Вы писали:
A>>Чем больше он будет тут трындеть, тем меньше у него потом будет шансов найти работу.
ЮЛ>Вы правы во всем, кроме этого. Шансов найти работу у меня не может стать меньше, потому что их вовсе нет. С++ у нас в городе никто не занимается, есть мелкие СУБДшники да порой 1С. Очевидно, никто не стал бы задерживаться у такого Манагера, будь возможность уйти в другое место.
Не стоит падать духом.
Но всё, что написано в интернете, убрать будет невозможно.
ЮЛ>Вы правы во всем, кроме этого. Шансов найти работу у меня не может стать меньше, потому что их вовсе нет. С++ у нас в городе никто не занимается, есть мелкие СУБДшники да порой 1С. Очевидно, никто не стал бы задерживаться у такого Манагера, будь возможность уйти в другое место.
А при чем тут C++? У вас, как я понял, есть хороший опыт и силы в реализации нетривиальных алгоритм, математических методов. C++-шников много, математиков — мало. Мне кажется, есть смысл попробовать поискать удаленку/фриланс.
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, Юрий Лазарев, Вы писали:
M>А при чем тут C++? У вас, как я понял, есть хороший опыт и силы в реализации нетривиальных алгоритм, математических методов. C++-шников много, математиков — мало. Мне кажется, есть смысл попробовать поискать удаленку/фриланс.
Здравствуйте, chaotic-good, Вы писали:
CG>Твой рассказ говорит о том, что у вас все через одно место делается. Нет четких регламентов, что и когда делать, как коммитить и тд.
К сожалению, это вообще ОЧЕНЬ часто встречается.
CG>Это недоработка менеджмента скорее всего, но и его понять можно, если учесть с какими людьми ему приходится работать каждый день
А людей кто нанимал? Не менеджмент что-ли?
Здравствуйте, Юрий Лазарев, Вы писали:
ЮЛ>Здравствуйте, Klag, Вы писали:
K>>Я видел этот код утром, и даже не являясь специалистом в C++ я могу написать большое количество претензий к нему. K>>После объяснения того, что этот код делает, количество претензий у меня увеличится в разы. Если алгоритм нетривиален, то основные идеи должны быть описаны в комментариях, и этих комментариев должно быть очень много.
ЮЛ>А вы не находите, что для "много-много комментариев" больше подходит учебное пособие? Или все таки я должен за бесплатно писать рядом с кодом еще и учебное пособие?
Нет, не нахожу. И многие не находят. Код должен относительно легко читаться. Понятно что человек должен быть в теме.
ЮЛ>>>Любопытный факт — код алгоритма этот Манагер выложил в интернет , заявив , что этот код ему нафиг не нужен, но когда при моем увольнении зашел разговор, чтобы отдать мне этот код для завершения работы с заказчиком, — как стоило узнать о пошлом скупердяйстве манагера, который вдруг заявил, что код — собственность фирмы. Что это как не шизофрения? K>>Деньги заплачены, работа сделана. Что заказчик делает с кодом — его личное дело, исполнителя не касается.
ЮЛ>Вы кого называете заказчиком? Шефа фирмы — Крутого Манагера? Так этот "заказчик" дважды прерывал выполнение заказа, подставляя и фирму, и клиента. Не точнее ли назвать его не заказчиком, а посредником? причем негодным посредником.
Это не твое дело. Для тебя заказчиком является манагер.
K>>Через 4 месяца у заказчика начинает вываливаться Access Violation в непонятном месте. Разбираться с кодом садится человек, который его видит впервые. Вот тут эти формальности начинают играть очень серьезную роль — будет ли проблема решена за несколько дней или за несколько недель.
ЮЛ>А меня вы уже похоронили). Знаете, я не верю в чертовщину и Access Violation в непонятном месте. ЮЛ>Вообще интересно, в Майкрософте следуют вашим рекомендациям? Скажем, обнаружен баг в Винде. Берут первого попавшегося дурака, ни разу не видевшего код, и он за пять минут устраняет проблему.
Я помню свою первую VCL на ТурбоПаскале, когда я через полгода полез в нее, то долго думал что же такое TA,TB,TX,TY, а потом зачем я это все писал. После этого писать комментарии вошло в привычку. И если есть возможность, надо давать такие имена переменным, чтобы было сразу понятно, что это такое, но это уже больше из 1Ски. В плюсах вроде как не принято давать длинные имена переменным.
Код должен быть читаемым. Чтобы найти Access Violation зачастую не надо знать алгоритм досконально.