Теоретическая часть по программированию? Посоветуйте список литературы или хотя бы темы, которые необходимо изучить для написание качественного ПО. За полтора года я весьма хорошо изучил основы С++, но при написании более-менее крупных проектов сильно чувствуется пробел в теоретической части (алгоритмы, структуры данных, паттерны и т.д. ...) Буду благодарен.
Для написания качественного программного обеспечения важно иметь хорошее понимание алгоритмов, структур данных и паттернов проектирования. Вот список литературы и тем, которые могут быть полезны:
Книга "Алгоритмы. Построение и анализ" Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд ШтайнКнига "Структуры данных и алгоритмы в Java" Майкл Т. Гудрич, Роберт ЛафореКнига "Design Patterns: Elements of Reusable Object-Oriented Software" Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон ВлиссидисКнига "Clean Code: A Handbook of Agile Software Craftsmanship" Роберт МартинКнига "Refactoring: Improving the Design of Existing Code" Мартин ФаулерКнига "Code Complete: A Practical Handbook of Software Construction" Стив Макконнелл
Кроме того, рекомендуется изучить основы архитектуры ПО (например, книга "Архитектура корпоративных программных приложений" Мартин Фаулер) и принципы разработки ПО (например, книги "The Pragmatic Programmer: Your Journey to Mastery" Эндрю Хант, Дэйв Томас и "Agile Software Development, Principles, Patterns, and Practices" Роберт Мартин).
Надеюсь, эти рекомендации помогут вам углубить знания в теоретической части программирования и повысить качество вашего ПО. Удачи!
Для написания качественного программного обеспечения важно иметь хорошее понимание алгоритмов, структур данных и паттернов проектирования. Вот список литературы и тем, которые могут быть полезны:
Книга "Алгоритмы. Построение и анализ" Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд ШтайнКнига "Структуры данных и алгоритмы в Java" Майкл Т. Гудрич, Роберт ЛафореКнига "Design Patterns: Elements of Reusable Object-Oriented Software" Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон ВлиссидисКнига "Clean Code: A Handbook of Agile Software Craftsmanship" Роберт МартинКнига "Refactoring: Improving the Design of Existing Code" Мартин ФаулерКнига "Code Complete: A Practical Handbook of Software Construction" Стив МакконнеллКроме того, рекомендуется изучить основы архитектуры ПО (например, книга "Архитектура корпоративных программных приложений" Мартин Фаулер) и принципы разработки ПО (например, книги "The Pragmatic Programmer: Your Journey to Mastery" Эндрю Хант, Дэйв Томас и "Agile Software Development, Principles, Patterns, and Practices" Роберт Мартин).
Надеюсь, эти рекомендации помогут вам углубить знания в теоретической части программирования и повысить качество вашего ПО. Удачи!