Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2017, 12:39   #11
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Я ничего не предлагаю, просто прошел мимо и увидел странный абзац )

И XP это ж не только TDD. Например единый стиль кода, рефакторинг, Continuous Integration тоже к нему относятся.
..вот кстати, рефакторинг в С++ нудно делать из-за дву-файлов (СРР + Н) и пре-компиляции. Т.е. желательно вообще заводить новые классы/шаблоны прям сразу, как понадобилось. А вдруг еще понадобится? Если не понадобится - не беда, компилятор сделает коротко, без дополнительных накладок.
alexzk вне форума Ответить с цитированием
Старый 16.04.2017, 12:46   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да

И еще из-за сложности языка для него мало хорошо работающих инструментов для рефакторинга и т.п. Типа как в IDE от JetBrains (Java, Питон и веб) или ReSharper для C# Visual Studio (для С++ ReSharper тоже есть уже, но хуже и сильно тормозит)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 16.04.2017 в 12:49.
Alex11223 вне форума Ответить с цитированием
Старый 16.04.2017, 13:01   #13
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Alex11223
Я согласен что абзац странный. Просто хотелось противопоставить дедукцию и индукцию. А в двух словах описать индукцию не удавалось. Поэтому и упомянул XP, так как этот подход является ярким представителем индукционного ведения разработки.

Цитата:
Например единый стиль кода, рефакторинг
А вот тут несогласен. Вы же сами дали ссылку. Единый стиль кода, рефакторинг и циклическая разработка это всё общие элементы разработки не важно XP или нет.

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

Единый стиль написания он есть везде. Не только в XP.
Применительно к С/С++, наиболее известными стандартами кодирования являются MISRA, HICPP, Google C++ Style Guide. И в первую очередь эти руководства направленны не только на оформление, сколько на избежание шибок и упрощения тестирования и понимания кода.
Тот же MISRA имеет реализацию в виде программы одной из static analyze tools. Не совсем понимаю как им удалось описать все правила, но видимо туда не вошли правила рефакторинга.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 16.04.2017, 13:05   #14
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
..вот кстати, рефакторинг в С++ нудно делать из-за дву-файлов (СРР + Н) и пре-компиляции. Т.е. желательно вообще заводить новые классы/шаблоны прям сразу, как понадобилось. А вдруг еще понадобится? Если не понадобится - не беда, компилятор сделает коротко, без дополнительных накладок
Да ладно? Возьмите QT Creater и не мучайтесь там при изменяешь функцию появляться лампочка кликаешь по ней и изменения тут же вносятся во втором файле. Если CPP то в H. Если в H то в CPP. И вообще нажимаешь переименовать идентификатор он сразу заменяется везде. А также есть поиск использования и вхождения идентификаторов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 16.04.2017, 13:09   #15
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Да ладно? Возьмите QT Creater и не мучайтесь там при изменяешь функцию появляться лампочка кликаешь по ней и изменения тут же вносятся во втором файле. Если CPP то в H. Если в H то в CPP. И вообще нажимаешь переименовать идентификатор он сразу заменяется везде. А также есть поиск использования и вхождения идентификаторов.
Беру и не мучаюсь, но, например, в CPP файлах часто делаю какойто
#define SOME
....using SOME
#undef SOME

(борюсь с копипастой по мере сил), так вот уже этого креатор не найдет (если есть использвание цели рефактора в макросе)

Кстати дарю трюк Бывает, нужно описать громадное число одинаковостей - ну например, прототип виртуальной функции в 20 наследниках. Так вот, сам этот прототип можно задефайнить локальненько и избежать копи-пасты, использовать вроде так

PROT(Class1)
{
}

PROT(Class2)
{
}

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

Последний раз редактировалось alexzk; 16.04.2017 в 13:20.
alexzk вне форума Ответить с цитированием
Старый 16.04.2017, 13:33   #16
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Да я учусь еще только. Именно ООП С++.
Поэтому сразу систему какую-то хочу "впаять" себе.
Изучайте шаблоны проектирования.
8Observer8 вне форума Ответить с цитированием
Старый 16.04.2017, 13:56   #17
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо всем. Буду применять советы.
KAMLS вне форума Ответить с цитированием
Старый 16.04.2017, 16:18   #18
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

От фонаря.
Смотрю, сколько надо переменных. Потом гляжу, объявлены ли они, или требуются дополнительные.
А иногда в конце решения задачи оказывается, что какие-то переменные были не нужны.
http://programmersforum.ru/showpost....3&postcount=68
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Старый 16.04.2017, 16:22   #19
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от jura_k Посмотреть сообщение
От фонаря.
Смотрю, сколько надо переменных. Потом гляжу, объявлены ли они, или требуются дополнительные.
А иногда в конце решения задачи оказывается, что какие-то переменные были не нужны.
http://programmersforum.ru/showpost....3&postcount=68
Лично вам стоит изучить "область видимости переменных" Последние лет 25 в С++ (и всех потомках) можно создавать переменные в момент нужды, и ограничивать их существование блоками. Т.е. за раннее ничего выписывать не нужно.
Предварительное описание - это тяжкое наследие первых версий С (70х годов), когда у функции не было параметров, и описание переменных выполняло 2 роли - описать параметры, а что не использовано параметрами - оставить как переменные.

Последний раз редактировалось alexzk; 16.04.2017 в 16:25.
alexzk вне форума Ответить с цитированием
Старый 16.04.2017, 16:35   #20
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

Насчёт "видимости переменных" в блоках я в курсе, и эта штука прокатывает даже в Turbo C 2.0 (правда, я не пробовал).
Объявление переменных "в момент нужды в них" начинается с C++.

Мне сложно перестроить своё мышление.
Если мне нужны всего пять переменных для решения кучи задач, и я вижу, что все переменные занимают явно меньше 30 килобайт - то я в начале main () и описываю их. Потому что памяти компьютеру явно хватит. - Не так уж много в учебных программах надо.
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как составить блок-схему к решению задачи ElenaGreen Microsoft Office Excel 1 17.11.2013 13:23
вопросы по литературе, подсказки по решению задачи. kynew Помощь студентам 0 04.11.2012 21:38
Подход к решению kaar Помощь студентам 2 04.04.2010 11:56
помогите по решению задачи Irok Паскаль, Turbo Pascal, PascalABC.NET 2 08.01.2009 00:52
Нужна помощь по решению задачи .(Delphi) Nora Помощь студентам 4 24.05.2008 07:29