Green coding. Як ваш код впливає на планету, і чи варто хвилюватися
Привіт! Мене звати Ганнуся Шевченко, зараз я працюю як Fund and Sustainability Coordinator у міжнародній екосистемі Beetroot. Моя роль поєднує ІТ і турботу про навколишнє середовище. Тому сьогодні я б хотіла поговорити про green coding. Хоча у світі популярність цієї теми стабільно зростає, в Україні про неї майже не говорять. Але повірте, цей тренд важливий для нас. Навіть попри те, що триває війна.
Що таке green coding
Green coding або екологічне програмування — спільна назва практик, спрямованих на зменшення енергії, яку споживає софт.
Йдеться не тільки про розробку екологічно безпечних програм, але також про сталий розвиток всього ІТ. Окрім, власне, свідомого підходу до написання коду, green coding може включати й інші практики. Наприклад, використання «зеленої» енергії для живлення серверів і дата-центрів.
Чому це важливо
Green coding має щонайменше чотири важливі аспекти:
- Екологічний. За останніми оцінками на IT припадає від 2,1 до 3,9% світових викидів CO2. Це навіть більше, ніж забруднення від авіаперельотів. Самі тільки дата-центри споживають 1% від усієї електроенергії на планеті. І зменшення енергоспоживання софту може значно скоротити викиди вуглецю.
- Економічний. Коли програми витрачають менше енергії, це елементарно дешевше. Особливого значення цей аспект набуває для великих компаній — вони найшвидше відчувають результати оптимізації коду.
- Соціальний. Свідомий підхід до розробки — частина соціальної відповідальності зі збереження навколишнього середовища, тобто спосіб подбати про інтереси суспільства (і себе самих).
- Фаховий. Через брак досвіду джуніори рідко можуть похизуватися оптимізованим кодом, адже «зелений» результат майже завжди означає «високої якості». Отже, чим швидше розробники приходять до оптимізованого коду, тим краще: для продукту, для їх власного портфоліо і, так, для середовища також. Вже зараз green coding у CV додає розробникові «балів» в очах технічного інтерв’юера.
Для нас із вами green coding має особливе значення. Війна значно погіршила екологічну ситуацію в Україні, і відкладати вирішення цієї проблеми до перемоги — небезпечно. Російські окупанти чинять екоцид, і його наслідки буде відчувати не одне покоління українців. «Зелене» програмування може стати частиною подолання екологічної кризи. Навіть більше: воно має стати золотим стандартом, якщо ми хочемо усунути наслідки екоциду і забезпечити собі більш стале та безпечне майбутнє.
Як працює green coding
Екологічний код = оптимізований. Якщо програма виконує зайві для її логіки команди, вона використовує надлишкові ресурси. Заплутаного кінцевого коду варто уникати. Не тільки тому, що це «не елегантне» рішення, але й тому, що воно шкодить навколишньому середовищу.
Скільки енергії може витратити одна зайва команда? Небагато. А якщо таких команд десятки? Уявімо загальну кількість софту, яким ми користуємось щодня. І от вже навіть одна зайва команда в одній програмі більше не виглядає безневинно. Адже на практиці це великий обсяг енергії, який ми могли б зберегти. Не кажучи вже про те, що зайві команди сповільнюють програму.
Green coding — новий світовий стандарт і запорука конкурентоспроможності. Адже «зелений» софт працює швидше, він є більш економічним і зручним для кінцевого користувача.
Як це виглядає на практиці?
«Зелений» підхід охоплює всі рівні та етапи розробки. Його принципи варто закладати вже в базову архітектуру, щоб оптимізувати необхідний для програми об’єм пам’яті та енергії. На рівні логіки значення має не тільки оптимізація коду, «очищення» від зайвих команд та процесів. Навіть вибір мови, фреймворку і типів файлів впливає на те, скільки електроенергії витрачатиме софт.
Важливо розпізнавати неефективні частини коду на ранніх етапах, адже пізніше їх може бути складно виключити зі структури продукту. Тому green coding передбачає гнучкий підхід і постійне тестування.
Уваги заслуговує і кількість звертань до сервера чи зовнішніх баз даних, адже ці операції також потребують енергії.
Екологічне програмування — велика тема, вона зачіпає кожен з аспектів розробки і вимагає від інженера уважності та майстерності. Я описала тільки базові принципи. Якщо хочете дізнатися про green coding більше, запрошую на безкоштовну онлайн-зустріч із засновником компанії Exove і автором книги «Green Code» Дженні Калліолою. Він розповість про практики «зеленого» програмування докладніше і дасть конкретні практичні поради.
Найкращі коментарі пропустити