![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
||
|
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
тема взята из соседнего поста, показалась интересной..
пишите, кто какой стиль предпочитает и как он придумывает названия именам переменных.. пользуется ли кто-то еще транслитом? -------------------- undefined |
|||
|
||||
Сыроежка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
Во-первых, стиль программирования порой диктуется уже той средой, в которой вы программируете, как, например, имеет место в Windows или MFC.
Обычно в проектах польуются одновременно разными стилями названия переменных. Например, один программист для одной переменной может использовать подчеркивание для разделения слов в идентификаторе, в то время как для другого идентификатора порой проще объединить два слова в одно без всяких разделителей. Кроме того, есть переменные, которые обозначают флаги. Обюычно они пишутся в венгерской нотации. Кроме того для простых функций или простых объектов можно вообще использовать одну букву для имени переменной, как, например, s - для символьного массива, p - для указателя, а n - для целочисленного значения и т.д. Иногда для простыты имя переменной состоит лишь из двух символов, которые означают названия слов. Например, имеется тип данных REQUEST HEADER. Для переменной этого типа в одном проекте использовалась имя rh. И поверьте, это было лучшее имя, которое можно придумать для переменной этого типа! ![]() На самом деле для больших проектов главное, чтобы одни и те же объекты в разных модулях обозначались одними и теми же именами переменных.. Это сообщение отредактировал(а) Сыроежка - 17.7.2011, 20:19 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Странные какие-то ответы, не то что не исчерпывающие, но вообще винегрет. Именование переменных - часть стиля; он обычно корпоративный, так удобнее работать. Я для своей команды сделала документ, компиляцию из какого-то распространенного англоязычного источника и своих домыслов. Транслит запрещен, ибо меня от него колбасит.
До сих пор вспоминаю яркий образец вида - чью-то процедуру на Фортране с именем OBLOPR, что означало "область определения". ![]() -------------------- ... |
|||
|
||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
плюсую, хочется сразу убить автора такого имени. хорошо еще когда транслит правильный, английский, а то бывает такое, шо ### -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
Вы как женщина опытная (как я понял), должны понять, что речь идет о стадии, когда проект только начинается, и Ваши предпочтения закладываются в корпоративный стиль.. кстати, по стилю, можно определить к какой "школе" человек относится.. как тут было правильно подмеченно, сразу видно где у него больше всего опыта, Linux, Windows, MFC и т.д.
действительно, часто встречаются очень удачные аббривиатуры (как в данном примере).. но мне кажется, что это хорошо, когда есть документация, чтобы человек со стороны как-то мог разобраться, что она значит.. Добавлено @ 09:57 P.S. за транслит убил бы сразу.. Это сообщение отредактировал(а) fish9370 - 18.7.2011, 10:04 -------------------- undefined |
||||
|
|||||
borisbn |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Что есть, то есть. Правда за весь Windows я бы не говорил... Вот, например, когда мне нужна программа на чистом Си++ (STL, boost), то я и переменные_называю_с_подчеркиванием. Если в Qt лабаю - поВерблюжачиНазываю. А когда ещё с VCL работал (как вспомню - так вздрогну) все ТТипыНазвалВИхСтиле. А по именованию - ну есть же правила
Убил бы за vvod_massiva. Особенно весело смотрится транслитерация слова "файл" ![]() P.S. Ещё нравится иногда встряхиваться ![]()
такое, правда, нужно особенно тщательно документировать Добавлено через 3 минуты и 28 секунд
Не поделишься ? Распространять не собираюсь. Прошу для личного пользования -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||
|
|||||||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Да ради бога. Исользуйте как хотите: это перевод одного из валяющихся в сети документов с моей редакцией.
Добавлено через 2 минуты и 58 секунд Правде, время показало, что не все прижилось. Скажем, функции я именую в основном с большой буквы. Булевские переменные не начинаю с "is". Но это все мелочи. Нельзя вообще все зарегламентировать, должна быть некоторая свобода в соответствии с собственным вкусом. Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() -------------------- ... |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Earnest, спасибо. Где-то я это видел... О! вот тут.
Да ты собственно и не скрывала ![]()
Это сообщение отредактировал(а) borisbn - 18.7.2011, 10:45 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 1 Всего: 50 |
||||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
-------------------- ... |
|||
|
||||
Сыроежка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
Как я уже сказал, если одно и тоже имя используется для одного и того же объекта во всех модулях проекта, то документация не требуется. Поэтому я и указал, что очень важно сохранять использование одного и того же имени. Более сложные проблемы возникают, когда вы пишите макросы. В них вы передаете идентификатор, а внтури макроса нужно создать другой идентификатор для подобного же объекта. Здесь тоже требуется некоторая система, так как порой могут возникнуть серьезные ошибки, что вы в макросе можете использовать имя, которое "закроет" собой имя переменной из основного кода. |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
-------------------- undefined |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
fish9370, ты не прав - по стандарту документировать ничего не требуется
![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Это сложный вопрос на самом деле. Документация к коду ИМХО не нужна (код должен быть самодокументирован, включая подробные комментарии к сложным местам, либо ссылки на первоисточники для неочевидных алгоритмов). "Стратегические" документы (типа функциональной спецификации на разработку конкретного модуля \ утилиты или описание дизайна программы) очень желательны. К сожалению, поддерживать их в актуальном состоянии очень сложно... -------------------- ... |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
бытие определяет сознание. жаль, что только один вариант ответа. а что насчет смешения стилей? часто в одном проекте используются библиотеки с разными принципами именования. пример - MFC и STL. какой стиль выбрать? что делать (и нужно ли), что бы код смотрелся единообразно? |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
![]()
В общем, крайности всегда плохо. И совсем без комментариев нельзя, и перегружать код лишними комментариями - тоже вредно. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
я не совсем понимаю, что такое документация к коду, мне кажется документация к коду это комменты (и они кстати тоже нужны).. но то что ни один серьезный проект без документации не обходится - это безусловный факт.. я тут не вижу оснований для спора.. -------------------- undefined |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Разумеется, я не такие комментарии имела в виду. За такое нужно сразу убивать. Самодокументированность - это четкая логическая структура, ясные имена переменных и необходимый минимум комментариев. . Я под этим понимаю описание классов и их функций. Типа функция XXX класса YYY делает то-то. Как отдельный документ. Считаю, что это лишняя трата времени - и того, кто пишет, и того, кто читает. Такого рода информация нужна только разработчикам, а они могут и код посмотреть (уж точно актуальную инфу получат). А если код в этом смысле написан плохо, то разумнее потратить время на его улучшение, чем не его же описание. Разумеется, если продукт - не библиотека, предназначенная для внешнего распространения. -------------------- ... |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
borisbn
У нас не до такой степени, но все же комментарии, чаще встречающиеся в нашем кода
Это сообщение отредактировал(а) azesmcar - 21.7.2011, 20:38 |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
borisbn,
azesmcar Ктото из вас написал что коментарии нужны в самых сложных местах, тоже с этим согласен, в остальном должны быть интуитивно понятные названия методов и переменных. А так, как я понял, стиль формируется в зависимости от конкретной команды и тимлидера(в соответствии с его стилем обычно пишут) Поэтому считаю позицию Earnest верной по созданию дока со стилем. |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
ни тот, ни тот, а как раз Earnest:
Это сообщение отредактировал(а) borisbn - 21.7.2011, 22:38 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
мне очень не нравится Google's C++ style guide.
совсем случайно наткнулся на эту тему: http://stackoverflow.com/questions/5695082...nce-in-industry радует что не мне одному он кажется нелепым. особенно запрет использовать исключения и обильно шаблоны... ![]() |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
с позиции Сишника (мне не нравятся все эти ваши примочки), я считаю, что это вполне оправданно.. код упрощается, значит меньше ошибок.. по поводу исключений, так там с примером показанно какие косяки с этим могут быть.. -------------------- undefined |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Код упрощается? При неиспользовании исключений? Да ладно! Букв становится больше - ошибки-то все равно обрабатывать нужно. А больше букв - больше возможностей случайно напортачить. Косяки могут возникнуть какие угодно и где угодно. Все зависит от квалификации кодеров. Нет способа защититься от кривых рук, кроме превентивного отстрела. Но как распознать кривые руки еще до того, как они успели нанести ущерб - вот вопрос... ![]() -------------------- ... |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
нет, при неиспользовании Си++ А здесь пошли на компромис, между чистым Си и Си++, код стал проще - меньше ошибок, со стороны "криворуких" кодеров.. криворуких взял в кавычки, так как сам язык к этому распологает, это кстати попытка сделать из них пряморуких.. -------------------- undefined |
|||
|
||||
boostcoder |
|
||||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да ну ладно ;) тебе уже не раз примеры приводили, что с++ код проще. главное иметь прямой моцг.
не-не-не! причина в моцге! Добавлено через 4 минуты и 28 секунд вот тебе еще парочка. банальное получение списка элементов на ФС в текущем каталоге. 1.
http://liveworkspace.org/code/840584682a73...df6c8cd75a70848 2.
http://liveworkspace.org/code/a137f45778dc...002ba5aeda118bd 3.
http://liveworkspace.org/code/457efd76e5d4...38034951d1668eb покажи Си`шный эквивалент ;) Добавлено через 8 минут и 26 секунд вдобавок: с++, с++су рознь. ибо даже в Qt("Си с классами" (с) я) это сделано криво.
вот и пойми кто тут не прямой) |
||||||||||
|
|||||||||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Ничо подобного! Причина как раз в его отсутствии! ![]() Это из области мифологии, к сожалению... Если у человека нет нужной хромосомы, то как задачу не упрощай - все равно найдет возможность сделать глупость. Нельзя упрощать до бесконечности - на упрощение\ разбиение придется потратить больше времени, чем на решение задачи самому. Так что смысла никакого, кроме 100% занятности населения. ![]() Понятно, у Гуглов может быть свое мнение на этот счет, и они имеют на это право. Как и мы. Добавлено через 2 минуты и 50 секунд Да, кстати еще один аргумент в пользу шаблонов и всяких бустов. Если умудрился написать подобное выражение так, что оно скомпилировалось, то очень много шансов за то, что оно работает правильно. Простой код таких "гарантий" не дает. ![]() -------------------- ... |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
если ты про то, что тут меньше писать, то ты будешь прав, но я говорил про простой код (его не меньше, а даже больше).. этот код сложен тем, что не зная буста (как в моем случае), сложно понять, что тут вообще происходит (какое-то адское наследование, уверен, что там куча подводных камней).. ну и пока ты используешь, отлаженую библиотеку, полагаю все классно, но когда начинается реальный проект с кучей участников, где как вы правильно заметили, не поймешь, кто с какими руками, вот тогда и начинается танец с бубном (не знаю я проектов на бусте, мне просто так кажется) на Си я код напишу, сразу как появится время.. -------------------- undefined |
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
fish9370, естественно, что это уже оффтоп.
но тем не менее... в простом коде(самописном), как показывает практика, больше шансов нагородить ошибок, как ты недавно заметил в теме где ты написал функцию strcmp().
ну вот видишь... а ты про кривизну рук ;) не исключено! но плюс в том, что эти подводные камни отловятся раньше, т.к. этот код юзаю не я один. в смысле boost использую не только я. и это все к тому, что: не нужно городить то, что давно нагорожено.
в реальных проекта, как правило, наказывают за рукоблудие. по причинам написанным выше. к примеру: http://www.boost.org/users/uses_shrink.html Добавлено через 5 минут а вообще, я знаю очень мало проектов на плюсах, написанных не теми кто учился программировать по доке Qt, не использующих boost. сейчас, благо, boost.type_traits и boost.thread перешли в стандарт. это уже в некоторой степени позволяет отвязаться от boost. но все равно многого не хватает: asio. mpl. fusion. function_types. filesystem. iostreams. e.t.c... |
||||
|
|||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
не смотря на то что, этот инцидент действительно имел место быть, я все-равно буду настаивать на своем.. эта функция относится к разряду фундаментальных, ей бы стоило уделить больше внимания, в том числе и к производительности.. такие функции обычно являются ядром проекта и после тщательного тестирования переносятся из проекта в проект без изменений (сам люблю хорошие функции дернуть).. в твоем случае, все тоже самое, те же библиотеки, с проверенными функциями или классами, но беда Си++ в том, что объекты на порядок сложнее, и распутывать клубок из множественного наследования, с кучей перегрузок, исключений и т.д. становится не интуитивно понятно (так кажется мне, и похоже не только мне, если так вопрос поставили в google) это ты так подколол? сказать по-правде, тут часто можно услышать - кривые руки, нет мозгов и т.п.. а чем это измеряется? кто тут судья? я бы понял, если бы с нами был Линус Торвальдс, Марк Спенсор, Игорь Сысоев, да любой другой человек, которому есть чем гордиться.. если вам есть чем гордится, продемонстрируйте или прекратите бросаться такими громкими словами.. Это сообщение отредактировал(а) fish9370 - 22.7.2011, 16:38 -------------------- undefined |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
обычно его не надо распутывать: пользуются публичным интерфейсом, остальное за кулисами. тем-то ООП и хорошо. конечно, что бы изучить большой проект или, скажем, библиотеку, требуется время. но на С все это будет выглядеть огромным списком структур и функций, и только внятное описание (если оно есть) поможет разобраться. в С++ структура присутствует в самом коде, и разобраться при прочих равных проще |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
как-то мало высоконагруженных сетевых приложений, да и фотошоп CS2 мне почему-то казалось, что написан на .net (так уж он притормаживал), не знаю, что и сказать, чтобы не коим образом никого не обидеть..
почему-то мне кажется, что это субъективно.. разбираться с кодом мне помогает doxygen (спасибо создателям).. -------------------- undefined |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
fish9370, скажи, какой у тебя уровень знаний С++ и какой опыт работы на нем?
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
нет. забудь... Добавлено через 3 минуты и 33 секунды во первых - это критерий? во вторых - а что еще использовать для сетевых приложений кроме как asio? ;) пример: http://forum.vingrad.ru/forum/topic-321942.html |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
если скажу, что нулевой, то совру.. но я хочу избежать его использование в своей жизни по максимуму.. при этом я влюблен в Си.. мне нравятся решения на Си.. я люблю из изучать, читать, думать о софте на Си.. ![]() при этом это всего лишь мое хобби.. спасибо, что спросил.. -------------------- undefined |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
ты лучше скажи так, как есть: прочитал книжку, видел код, писал простейший код, писал сложный код, понимаю 99% кода, полностью владею 99% возможностей языка. Просто если один из первых 3-х пунктов, то ты просто не имеешь морального права спорить с людьми, которые принадлежат к остальным 3-м категориям. Потому что получается "не читал, но осуждаю". Вот только не надо никому свое мнение навязывать. Я лично в любом деле выбираю подходящие инструменты (из тех, что у меня есть, и которыми я умею пользоваться), причем не только в области программирования. Надо драйвер или системную утилиту - пишу на С, надо консольную пользовательскую да еще и с кучей наворотов - пишу на С++, нужна с GUI - использую Qt, если Qt слишком жирно использовать, то делаю свои обертки вокруг системных библиотек...
Никогда не думал, что скажу такое, но: в мире еще есть много чего более достойного твоих дум и любви. Не стоит зацикливаться на С. Тем более, что лет через 10 ты со своим С будешь уже никому не нужен (выйдешь из профпригодного возраста), как и многие из здесь постоянно тусующихся... |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
моральное право у меня есть, и книжки читал, и код писал, и в университете мне это втирали.. только давай без квестов обойдемся, мне это давно уже не интересно.. ха-ха.. ![]()
я тоже не думал, что ты это скажешь, а главное что ты хотел этим сказать? ![]() Это сообщение отредактировал(а) fish9370 - 22.7.2011, 21:35 -------------------- undefined |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Все что в университете втирают мало пригодно для реальных проектов |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
ну и чей код проще? Это сообщение отредактировал(а) fish9370 - 23.7.2011, 11:01 -------------------- undefined |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
fish9370, то что ты написал, это эквивалент этого:
т.к. результат своего мегакода ты некуда не сохраняешь и использовать его невозможно. разве не очевидно какой код проще? ;) |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
хорошо ты победил, твой код проще.. но когда я захочу, чтобы все было просто, я воспользуюсь PHP.. там я могу делать такие вещи, что бусту и не снилось.. -------------------- undefined |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
fish9370, дело не в победе. а в том, что ты отрицаешь очевидные даже для тебя вещи. а это попахивает тараканами.
держите меня семеро ![]() значит плюсы не устраивают, а ПХП устраивает? комплексы и предрассудки... |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Логическое продолжение: А в остальное время буду писать на ассемблере, ибо это круто и так поступают настоящие джедаи ![]() Позволю себе заметить, что спор с человеком, для которого программирование на Си - хобби просто напросто лишен смысла. Ты пишешь для удовольствия, профессионал - ради денег, не надо путать одно с другим, у этих двух категорий разные цели. Это сообщение отредактировал(а) azesmcar - 23.7.2011, 11:51 |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
ну, я решаю комплексные задачи, интерфейс юзера так или иначе тоже делать надо.. ничего более кроссплатформеного чем веб, еще не придумали.. здесь прекрасным решением является PHP.. он меня полностью устраивает.. и да, я пользуюсь классами.. а это какая-то непонятная прослойка, между скоростью разработки и производительностью.. да и к тому же я же уже говорил, что мне сложно разбираться в большом коде, если это Си++. да из интересных мне приложений я помню только один это openser на плюсах.. все остальное на Си.. помоему это здравый смысл, а не тараканы.. -------------------- undefined |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
я не в качестве спора... ничего не хочу доказать... просто понравился код:
догадайтесь, что за библиотека ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
borisbn, а сколько попыток?
в добавок: во первых - не рекурсивный обход(или я ошибаюсь?). во вторых - невозможно управлять обходом. в третьих - невозможно задать предикат. в четвертых - со стандартными контейнерами/алгоритмами работает через попу. т.е. только после того как обход закончен, результат можно адаптировать в std::list<std::string>, если не ошибаюсь. в пятых - одним словом - "Qt". пожалуй хватит.. Это сообщение отредактировал(а) boostcoder - 23.7.2011, 12:55 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
4.7.3 ![]() тогда я попробую с 1.46.1 попыток угадать, что за библиотека у Вас ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
не ошибаетесь для упарвляемого есть это можно задавать regEx-овское выражение вместо *.* не очень понял, но по-моему это - пункт "во-вторых". Кроме того у QList есть
Во-первых - угадали с первого раза ! Во-вторых - Вы просто не умеете её готовить... так же, как я boost -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
какой же это итератор? ![]() какому из operation_requirements и type_requirements он соответствует? тут я ничего похожего не нашел. опять тролли сами все придумали и выдали юзверям за чистую монету. предикат способен выполнять действия, а не только проверку. borisbn, Вы не первый кому я пытаюсь показать что в Qt _очень_многое_ кроме GUI(хотя и это тоже...частично.) сделано как-то по сишному...что ли.. для меня это совершенно не пригодно к использованию. пора заканчивать. а это на троллинг намекает.. Добавлено @ 16:00
поставлю вопрос по другому: как "это" использовать со стандартными контейнерами/алгоритмами? Добавлено @ 16:06 это вряд ли. Это сообщение отредактировал(а) boostcoder - 23.7.2011, 16:20 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
из всего вышесказанного вот это поддерживаю ![]() Думаю, абсолютно ничего плохого не будет, если каждый останется при своём ИМХО ![]() кста, улыбнула расшифровка ИМХО - Имею Мнение. Хрен Оспоришь ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
Сыроежка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
"Профпригодный возраст" для программистов на Западе как раз начинается с 40 лет! Так что вы путаете профпригодный возраст с тем, что в России как раз набирают на работу молодых и зеленых, которыми легче управлять, так как сам менеджер именно профнепригоден, а потому ему нужны в подчиненные такие же безграмотные, чтобы они не ставили под сомнение компетентность начальника! ![]() Добавлено через 8 минут и 40 секунд Глупость! Сразу же могу сказать, что вы - не профессионал! Профессионалы как раз пишут ради удовольствия! Профессионалы пишут качественный код и от этого получают удовольствие. А вот новички пишут ради денег! Они пишут порой страшный код, который порой сами не понимают, но у них принцип:"Код работает? Тогда какие ко мне претензии? Гоните деньги!" А профессионал всегда переживает, если он не получает удовольствие от кода, и ему кажется, что код мог бы быть написан лучше. Это сообщение отредактировал(а) Сыроежка - 23.7.2011, 20:33 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
![]() Да, вы славитесь громогласными, в то же время необоснованными заявлениями.
Да уж, фактически C++ не единственный язык, с которым у вас проблема. У вас еще и с русским проблема. Загляните в словарь и посмотрите значение слова профессионал. Я рад, что вы работаете ради собственного удовольствия, надеюсь ваши дети это поймут и оценят, когда им будет не хватать на учебу, еду и одежду. Для меня лично единственный стимул идти на работу и писать код - это обеспечить должным образом мою семью, a стимулом для написания качественного кода является тот факт, что за плохой много не платят. Серьезно? И много новичкам за это платят? Это сообщение отредактировал(а) azesmcar - 23.7.2011, 21:42 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Вы опять подменяете понятия.. В данном случае путаете противопоставления "профессионал/мастер и новичок " и "профессионал и любитель"..
![]() Это сообщение отредактировал(а) mes - 23.7.2011, 20:53 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
всяк кулик своё болото хвалит© .. чтоб объективно спорить, надо прежде всего критически относится к своему болоту, иначе каждый и будет тянуть одеяло на свою сторону.. ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
эт как обычно ![]() стараюсь. |
|||
|
||||
Сыроежка |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
Я ничего не путаю. Это вы просто в силу соего невысокого интеллекта выдумываете всякие новые определения, так как не в состоянии понять, что я сказал.
Деньги зарабатывают и халтурщики, чтобы любой ценой себя прокормить. Поэтому сегодня они могут работать программистами, а завтра барменами в ресторане. К профессионализму это абсолютно никакого отношения не имеет. |
||||
|
|||||
Сыроежка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
Зря вы поспешно согласились. Фактически, вас одурачили. Приведенный код никакого отношения к С++ не имеет. В том смысле, что тот же самый код твы могли бы назвать кодом С, а не С++. Просто автор этого кода сам имеет слабое представление о С++. Что имеет место по существу? Вы представили реализацию, а автор этого кода не представил реализацию. Только и всего! За его строчками кода стоит реализация, которую он вам не демонстрирует. А эта реализация может быть написана с равным успехом на С и на С++, а потом будут представлены эти строчки кода, и автогр будет заявлять: "Смотрите, какой у меня код короткий!" Вопрос на самом деле состоит в том, почему эта реализация для С++ уже существует, а для С нет. Вот именно в этом и состоит смысл различия С и С++, а не в том, что вам продемонстрировали некий интерфейс, который можно с одинаковым успехом назвать кодом С, а не С++. Различие состоит в том, что в С++ есть шаблоны. И этот главное различие. Когда есть шаблоны, вы можете писать обобщеннный код, и более того шаблоны стимулируют рнаписание обощенного кода. Поэтому в С++ даже есть целая библиотека шаблонов, хотя все то самое вы можете написать на С. Однако делать на С это трудоемко, так как надо будет писать отдельную реализацию для каждого типа данных. Даже не столько отдельную реализацию, сколько отдельную специализацию для каждого типа. Между прочим нельзя исключать такую возможносьть, что в будущемп в стандарт С включат шаблоны. И тогда вообще продемонстрированный код не будет иметь никакого смысла в вопросе различия С и С++. То есть я хотел сказать, что приведденный код, как наивно думал его автор, на самом деле не раскрывает различия С и С++. Эти различия не такие поверхностные, как этот фокус с ловкостью рук, когда вам приводят конечный интерфейс, который между прочим может выглядеть точно также на С, а не реализацию. Это сообщение отредактировал(а) Сыроежка - 24.7.2011, 02:40 |
|||
|
||||
alexvs11 |
|
||||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
причем тут шаблоны? в примере нет шаблонов
ни си, ни с++ не представляют возможностей доступа к ФС, так что ни тот, ни другой пример не представляют конечной реализации Добавлено через 6 минут и 28 секунд доступа подобного типа конечно ![]() |
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Вы еще и читать не умеете? Я прислал ссылку на описание слова профессионал, но вы видимо не смогли его понять. Говоря простым языком, профессионал - человек, который зарабатывает на жизнь своей профессией, а человек, который чем-то занимается исключительно ради удовольствия - любитель, для которого это занятие хобби. |
|||
|
||||
Сыроежка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 24.6.2011 Репутация: нет Всего: 1 |
Вот когда вы попадете к врачу который вместо аппендикса удалит вам почку, вот тогда вы сразу же поймете, кто профессионал, а кто нет. Я вам тприведу свежий пример с затонувшим теплоходом "Булгария". Если бы капитан корабля был именно профессионалом, а не рвачем, стремящимся любой ценой срубить бабло, то он бы просто не выпустил теплоход в плавание. Именно по той причине, что был профессионалом. А тот, у кого "исколючительно зарабатывает деньгит на жизнь профессией"Ю тому "море по колено". Профессионал имеет более широкое понятие, чем вы трактуете. Вы жн трактуете профессионалЮ как любого, кто просиживает свои штаны на рабочем месте. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Сыроежка
Вы плохо понимаете русский язык? Тут уже в третий или четвертый раз пишут, что вы путаете разницу между хорошим и хреновым специалистом с разницей между профессионалом и любителем. Причем тут желание срубить бабло? Профессиональный врач работает за деньги а не за удовольствие. Много вы знаете людей, которые ради удовольствия вырежут вам аппендикс? А вообще-то лично с ними не знаком, но таких людей обычно называют садистами, а человек, который сделает это за деньги - называется профессиональный врач. Если он вырежет вместо аппендикса почку, значит он хреновый специалист и его надо лишить лицензии врача. Это не значит, что врач должен оставить пациента умирать, если ему не заплатят, сравнение с врачом некорректно по той простой причине, что врач имеет дело с жизнью человека, а это бесценно. Я говорил о том, что спор профессионального программиста с человеком, для которого это хобби не имеет смысла, так-как профессиональный программист стремиться решить задачу, потратив на это минимум времени, без вреда для качества конечного продукта, а любитель стремиться получить удовольствие от процесса. Он может написать рекурсивный обход директории на ассемблере и потратит на это 2-3 дня, в то время как профессионалу такое "удовольствие" никто не разрешит. Если профессионал напишет обход директории за 2-3 дня, то его скорее всего уволят. По этой простой причине спор профессионала с любителем не имеет смысла, они преследуют разные цели. Теперь понятнее? Это сообщение отредактировал(а) azesmcar - 24.7.2011, 10:11 |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
я согласился потому, что для того чтобы работать с полученными данными, мне нужно было бы написать контейнер.. а у него уже есть STL, Boost, Qt.. а так я с тобой согласен, разницы никакой.. -------------------- undefined |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
![]() капитан существо подневольное, и бабло не в его карман... Сыроежка, Вам бы к знаниям чуть больше вежливости и чуть меньше апломба, цены бы не было. Был бы зеленый, еще понятно, но по всему человек уже взрослый, хз что теперь исправит.. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |