Введение
Введение
Чистый код всегда выглядит так, будто его написал человек, которому не все равно. — Майкл Физерс, автор книги «Эффективная работа с унаследованным кодом»
Большинство разработчиков игр согласны: код должен быть чистым — легко читаться, сопровождаться и использоваться повторно. Когда логика уже работает, наступает время рефакторинга и наведения порядка. У такого единодушия есть веские причины. То, что очевидно вам как автору кода, другому разработчику может быть непонятно. Да и вы сами через три месяца можете уже не вспомнить, что делает написанный сегодня фрагмент.
Вероятно, у вас уже сложились собственные предпочтения в написании кода. Но у будущих коллег они наверняка окажутся другими. Единственно правильного подхода нет, поэтому в этом руководстве собраны советы о том, как с помощью руководства по стилю согласовать общие стандарты.
В этом руководстве собраны рекомендации отраслевых экспертов по использованию и адаптации общепринятых руководств по стилю кода. Единое руководство для всей команды позволит кодовой базе расти вместе с проектом вплоть до коммерческого масштаба. Эти рекомендации принесут пользу процессу разработки в долгосрочной перспективе, даже если поначалу потребуют дополнительных усилий. Чистая и масштабируемая кодовая база также облегчает адаптацию новых разработчиков по мере роста команды. Поддерживайте код в чистоте — так вы облегчите жизнь и себе, и всем участникам проекта.
Чистый код помогает масштабировать разработку и соблюдать производственные стандарты, в том числе следующие: — Придерживайтесь единых соглашений об именовании — Форматируйте код так, чтобы его было легко читать — Делайте классы и методы небольшими и понятными — Комментируйте код, смысл которого неочевиден Создаете ли вы мобильную головоломку или масштабную MMORPG для консолей, чистая кодовая база снижает совокупную стоимость сопровождения программного обеспечения. В результате внедрять новые возможности и выпускать исправления для существующего продукта становится значительно проще. За это вам будут благодарны и будущие коллеги, и вы сами в будущем.
Примечание. Это второе издание электронной книги, обновленное для Unity 6.
Авторы Руководство написал независимый разработчик игр и преподаватель Уилмер Лин. Значительный вклад также внесли менеджер по маркетингу технического контента Томас Крог-Якобсен и старшие инженеры Unity Питер Андреасен, Скотт Билас и Михай Попеску.
Introduction
Clean code always looks like it was written by someone who cares. – Michael Feathers, author of Working Effectively with Legacy Code
Most game developers would agree that you need clean code: Code that is easy to read and efficient to maintain and reuse. Once your logic is functional, then the process of refactoring and cleaning up begins. There are good reasons for this congruence. Something that might be obvious to you as the original author might be less apparent to another developer. By the same token, when you implement some logic now, you might not remember what that same code snippet does three months later. Chances are you already have preferences for how to write your code today. However, your teammates of tomorrow will most likely have different preferences. While there is no right solution this guide provides some tips on how you can leverage a style guide to agree on standards.
This guide compiles advice from industry experts on how to use or adapt existing industry standard code style guides. Establishing such a guide for everyone in your team to follow will help ensure your codebase can grow your project to a commercial-scale production. These tips and tricks will help your development process in the long term, even if they cost you extra effort up front. A cleaner, more scalable codebase also facilitates the efficient onboarding of new developers as you expand your team. Keep your code clean to make life easier for yourself and everyone involved in the project. Clean code aims to make development more scalable and conform to a set of production standards, including: —
Follow consistent naming conventions
Format your code for legibility
Organize classes and methods to keep them small and readable
Comment on any code that isn’t self-explanatory
Whether you’re building a puzzler for mobile or a massive MMORPG targeted at consoles, keeping your codebase clean reduces the total cost of software maintenance. You can then implement new features or patch your existing software more easily. Your future teammates – and your future self – will be thankful for that.
Note: This is the second edition of this e-book, now updated for Unity 6.
Contributors This guide was written by Wilmer Lin, an independent game developer and educator. Significant contributions were also made by technical content marketing manager Thomas Krogh-Jacobsen and senior Unity engineers Peter Andreasen, Scott Bilas, and Mihai Popescu.