Общие принципы разбора чужого кода.
За всё время программирования, я сталкивался с поддержкой чужого кода. Приходилось сидеть и мучительно разбираться, что же хотел сделать другой человек. Приходилось разбираться как вставить модуль, не испортив всего.
Сейчас столкнулся с мега проблеммой. Приходится разбирать груду кода, написанного в одном файле. т е мэйн.с и всё. Груда абсалютных адресов, глобальных переменных. Кароче ужас.
Отсюда возникает вопрос к опытным программистам:
Как оптимально разбирать код? Поделитесь своими навыками! На что стоит обратить внимание в первую очередь? Как построить логическую цепочку и понять функционирования кода? На что не стоит обращать внимание?
Да, не обязательно для моего случая конкретно, а вообще, как Вы решали перед собой эту проблемму и какой метод борьбы сформировали?
Я думаю большинству приходилось сталкиваться с такой ситуацией.
Спасибо.
Книга по TDD:
http://www.books.ru/shop/books/121507
эл.вариант:
http://www.natahaus.ru/2005/11/06/ ...stirovanie.html
Книга по рефакторингу:
http://www.books.ru/shop/books/30436
эл.вариант:
http://anatolix.naumen.ru/Books/Refactoring?v=17e7
Цитата:
Originally posted by Green
Сначала пишутся юнит-тесты, потом постепенно производится рефакторинг.
Книга по TDD:
http://www.books.ru/shop/books/121507
эл.вариант:
http://www.natahaus.ru/2005/11/06/ ...stirovanie.html
Книга по рефакторингу:
http://www.books.ru/shop/books/30436
эл.вариант:
http://anatolix.naumen.ru/Books/Refactoring?v=17e7
Сначала пишутся юнит-тесты, потом постепенно производится рефакторинг.
Книга по TDD:
http://www.books.ru/shop/books/121507
эл.вариант:
http://www.natahaus.ru/2005/11/06/ ...stirovanie.html
Книга по рефакторингу:
http://www.books.ru/shop/books/30436
эл.вариант:
http://anatolix.naumen.ru/Books/Refactoring?v=17e7
Спасибо большое за ссылки.... Юнит тесты - это и есть ТТД?(Test-Driven-Development — разработка, основанная на тестировании)
Цитата:
Originally posted by PoDoNoK
Юнит тесты - это и есть ТТД?(Test-Driven-Development — разработка, основанная на тестировании)
Юнит тесты - это и есть ТТД?(Test-Driven-Development — разработка, основанная на тестировании)
И TDD основан на unitest, а в рефакторинге тесты необходимы.
Я не помню литературы посвященной только юнит-тестам, поэтому и привел литературу по TDD, где тестированию отводится бОльшая часть содержания.
Цитата:
Originally posted by Green
И TDD основан на unitest, а в рефакторинге тесты необходимы.
Я не помню литературы посвященной только юнит-тестам, поэтому и привел литературу по TDD, где тестированию отводится бОльшая часть содержания.
И TDD основан на unitest, а в рефакторинге тесты необходимы.
Я не помню литературы посвященной только юнит-тестам, поэтому и привел литературу по TDD, где тестированию отводится бОльшая часть содержания.
Сразу вопрос на засыпку:
Подойдёт ли рефакторинг, описанный Фулером не ОО кода, т е чистого Си??? Стоит ли заострять внимание на этом?
Пишу системы, работающие на специальных процессорах в реальном времени. Язык Си и ассемблер для ADSP.
Цитата:
Originally posted by PoDoNoK
Сразу вопрос на засыпку:
Подойдёт ли рефакторинг, описанный Фулером не ОО кода, т е чистого Си??? Стоит ли заострять внимание на этом?
Пишу системы, работающие на специальных процессорах в реальном времени. Язык Си и ассемблер для ADSP.
Сразу вопрос на засыпку:
Подойдёт ли рефакторинг, описанный Фулером не ОО кода, т е чистого Си??? Стоит ли заострять внимание на этом?
Пишу системы, работающие на специальных процессорах в реальном времени. Язык Си и ассемблер для ADSP.
Общие принципы те же, так что подойдет, если разумно подходить.
Там хоть и описаны конкретные действия, но это же не жесткий алгоритм, а принцип.