Недавно я изучаю проект C ++ с открытым исходным кодом под названием Scylla, написанный командой Avi Ktivation. Scylla — это совместимая с кассандрой база данных.
Пока я читаю код, один из способов понять код — это добавить print
утверждение в местах, которые меня интересуют. В основном, мне очень полезно знать логику кода. Но иногда я нахожу это также немного неудобным и трудоемким, потому что мне может понадобиться добавить много prints
по мере расширения области чтения. И мне также может понадобиться часто перебазировать мой print-version-branch
на последней ветке upstream, если я хочу поддерживать это.
Я могу понять, почему оригинальный код имеет журнал и не имеет print
Заявление непосредственно на стандартный вывод. Даже если у него есть журнал, он не будет регистрироваться везде. В конце концов, авторам кода они знают логику, разработанную ими самими. Но для меня, новичка в коде, мне нужны всевозможные выходные данные для печати, чтобы помочь понять код, в противном случае, как мне следует знать внутренности, особенно когда нет достаточного количества документации о коде?
Я знаю GDB, но я не думаю, что это не очень хороший инструмент, когда просто чтение кода не отладка.
Так что любые лучшие способы выучить новый код, кроме добавления print
заявление ?
Спасибо
Так что любые лучшие способы выучить новый код, кроме добавления печати
заявление ?
Да использовать Ctags с вашим любимым редактором. Это ускорит просмотр незнакомого кода по сравнению с простым чтением.
Другой вариант заключается в использовании Eclipse CDT. Помимо быстрого просмотра кода, он позволяет строить иерархии вызовов. Это иногда позволяет заменить GDB при изучении нового кода.
Других решений пока нет …