реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Подскажите по раздельной отладке кода, Как отлаживают программы, которые пишут сразу несколько программистов
Николай Иванович...
сообщение Oct 1 2008, 09:34
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Подскажите по раздельной отладке кода. Что это за зверь такой и как она (эта самая раздельная отладка) реализуется на практике.

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

А как это возможно если в программе на C++ только одна функция main?

Как вообще пишутся большие проекты, код программы в которых пишется сразу несколькими программистами?

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

Объясняю несколько сумбурно, но я надеюсь Вы меня поняли. Главный вопрос: как компилировать и отлаживать свой кусок программы НЕЗАВИСИМО от кусков программы, которые пишут другие программеры

Сообщение отредактировал Николай Иванович Приходько - Oct 1 2008, 09:36
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 1 2008, 09:41
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Николай Иванович Приходько @ Oct 1 2008, 13:34) *
А как это возможно если в программе на C++ только одна функция main?

А вы видели программы, где имеется две функции main()?
Интересно, к примеру, при использовании билдера кто-то вообще смотрит, что там в функции мэйн написано?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 1 2008, 09:50
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(MrYuran @ Oct 1 2008, 13:41) *
А вы видели программы, где имеется две функции main()?

Нет. А Вы?
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Oct 1 2008, 10:13
Сообщение #4


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(Николай Иванович Приходько @ Oct 1 2008, 12:34) *
Объясняю несколько сумбурно, но я надеюсь Вы меня поняли. Главный вопрос: как компилировать и отлаживать свой кусок программы НЕЗАВИСИМО от кусков программы, которые пишут другие программеры

А Вы никогда не перетягивали чужие исходники в виде готовых функций в свой проект?... Вот так и пишутся.
Пишете у себя свой кусок, тестируете его со своим main() biggrin.gif , а руководитель добавит в дерево проекта и соберет когда будет необходимость. Если задача была поставлена правильно и задание выполнено корректно - проблем не будет. Но если то руководитель или тестировщик заметят, что что-то не так - они Вам "намекнут" biggrin.gif . Основной груз, здесь, на руководителе проекта - разбивать задание на подзадания корректно учитывая работу всей системы.


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 1 2008, 11:34
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(DRUID3 @ Oct 1 2008, 14:13) *
А Вы никогда не перетягивали чужие исходники в виде готовых функций в свой проект?... Вот так и пишутся.

А если нет "готовых" функций у коллеги, а мне уже нужно как-то отлаживать свою часть программы?
Неужели винды и другие крупные программистские проекты писались путём "перетягивания" кода друг у друга?

"Не верю"(с) - Станиславский.

Наверняка для крупных проектов существует какой-то механизм раздельной отладки кусков программы разными программистами. Т.е. чтоб один программист не был СИЛЬНО завязан на скорость коддинга другого программиста. А то получается я свой кусок кода напишу, а мой коллега "тормозит". Или к примеру я реализовал свою часть используя текущую версию кода коллеги. А коллега взял, да и изменил интерфейс к своей части. И что? Я из-за него должен переделывать свою часть? Не. Как-то это неправильно. Наверняка в Microsoft есть какие-то механизмы для раздельного написания, компиляции и отладки частей программы.
Go to the top of the page
 
+Quote Post
yes
сообщение Oct 1 2008, 11:42
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



по этому делу есть куча программистких книжек - как Вы представляете отладку проектов типа того же виндовса или линукса?

но трудоемкость возрастает - то есть если разбили на 2 части, то каждому программисту достанется не 1/2, а 3/4 работы - вот такая арифметика smile.gif

основные инструменты - руки.sys и система контроля версий (нужно отметить, что у микрософта это все не самого лучшего качества)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 1 2008, 11:46
Сообщение #7


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Николай Иванович Приходько @ Oct 1 2008, 15:34) *
Или к примеру я реализовал свою часть используя текущую версию кода коллеги. А коллега взял, да и изменил интерфейс к своей части. И что? Я из-за него должен переделывать свою часть? Не. Как-то это неправильно.

Конечно, неправильно!
Любая коллективная работа начинается с подробного описания структуры и параметров взаимодействия.
Причём не только в программировании.
Допустим, несколько человек проектируют блок.
У каждого своя плата.
Договорились, начали.
Каждый разрабатывает и тестирует свою плату отдельно, исходя из ТЗ.
Естественно, что никто просто так не может изменить внешние интерфейсы своей платы (тип разъёмов, пины, сигналы) без согласования с остальными. Так же и с программами.

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 1 2008, 12:23
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(MrYuran @ Oct 1 2008, 15:46) *
Проект делят обычно на относительно автономные модули, так что их спокойно можно писать и отлаживать по отдельности.

Да как можно отлаживать по отдельности если 99% моего кода - это вызовы кода других 23-х программистов


Может быть по спецификации чужих модулей пишутся временные заглушки?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 1 2008, 12:28
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Николай Иванович Приходько @ Oct 1 2008, 16:23) *
Да как можно отлаживать по отдельности если 99% моего кода - это вызовы кода других 23-х программистов

а вас сильно волнует, когда вы пишете printf() или sin(), сколько программистов писали этот код?
Цитата
Может быть по спецификации чужих модулей пишутся временные заглушки?

Естественно.
Причём некоторые временные заглушки могут остаться навсегда.
Говорят, в той же винде их тысячи.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 7 2008, 10:57
Сообщение #10


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



А где можно почитать о том как в MS VС++ писать и (главное главное) отлаживать код когда одну прогу пишут сразу несколько программистов? Какие есть программные средства для этого? Где можно прочесть о том как писался и отлаживася по кускам код Винды? Unix-а и т.п.?

Ведь наверняка ест какие-то средства "гальванической развязки" smile.gif программистов друг от друга при работе в большом программном проекте.

Сообщение отредактировал Николай Иванович Приходько - Oct 7 2008, 11:05
Go to the top of the page
 
+Quote Post
andron86
сообщение Oct 7 2008, 11:27
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(Николай Иванович Приходько @ Oct 1 2008, 14:23) *
Да как можно отлаживать по отдельности если 99% моего кода - это вызовы кода других 23-х программистов
Может быть по спецификации чужих модулей пишутся временные заглушки?

вообще-то странный вопрос. вы библиотеки компалера тоже всегда только сами пишете или всё таки иногда пользуетесь готовыми функциями smile.gif . я вообще-то всегда симулирую, если модули/функции от других ещё не готовы.

может вам что-то вроде этого надо: Model-Driven Software Development (MDSD) - UML 2.0, SysML (Rhapsody)
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 7 2008, 11:30
Сообщение #12


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(andron86 @ Oct 7 2008, 15:27) *
вообще-то странный вопрос. вы библиотеки компалера тоже всегда только сами пишете или всё таки иногда пользуетесь готовыми функциями smile.gif

Вот именно, что готовыми, а не теми, которые ещё сами "в процессе"

Цитата(andron86 @ Oct 7 2008, 15:27) *
я вообще-то всегда симулирую, если модули/функции от других ещё не готовы.

Т.е. по описалову того, что должны делать эти функции пишите заглушки?
Go to the top of the page
 
+Quote Post
andron86
сообщение Oct 7 2008, 11:38
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(Николай Иванович Приходько @ Oct 7 2008, 13:30) *
Т.е. по описалову того, что должны делать эти функции пишите заглушки?

ну да, типа "заглушки" smile.gif
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 7 2008, 11:45
Сообщение #14


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(andron86 @ Oct 7 2008, 15:38) *
ну да, типа "заглушки" smile.gif

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

Чел начала пишет заглушку своего модуля. Отдаёт её всем челам, которые юзают его модуль. А сам спокойно пишет свой модуль. А потом когда модуль готов - забирает заглушку и отдаёт всесто неё рабоающий модуль? Так?
Go to the top of the page
 
+Quote Post
andron86
сообщение Oct 7 2008, 12:03
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(Николай Иванович Приходько @ Oct 7 2008, 13:45) *
А при разработке Винды кто пишет заглушку модуля? Тот же чел, что и разрабатывает сам модуль?
Т.е. как там всё организовано?

Чел начала пишет заглушку своего модуля. Отдаёт её всем челам, которые юзают его модуль. А сам спокойно пишет свой модуль. А потом когда модуль готов - забирает заглушку и отдаёт всесто неё рабоающий модуль? Так?

Вам же в 4 и 7 посту всё описали. обычно "заглушки" smile.gif все сами себе и пишут.

Сообщение отредактировал andron86 - Oct 7 2008, 12:05
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 14:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016