p3c README

The project's README from github.com/alibaba/p3c. As one markdown file: README.md.

P3C

最新版本:黄山版(2022.2.3发布)

License

Preface

We are pleased to present Alibaba Java Coding Guidelines which consolidates the best programming practices over the years from Alibaba Group's technical teams. A vast number of Java programming teams impose demanding requirements on code quality across projects as we encourage reuse and better understanding of each other's programs. We have seen many programming problems in the past. For example, defective database table structures and index designs may cause software architecture flaws and performance risks. Another example is confusing code structures being difficult to maintain. Furthermore, vulnerable code without authentication is prone to hackers’ attacks. To address these kinds of problems, we developed this document for Java developers at Alibaba.

For more information please refer the Alibaba Java Coding Guidelines:

Introduction

The project consists of 3 parts:

Rules

Forty-nine rules are realized based on PMD, please refer the P3C-PMD documentation for more detailed information. Four rules are implemented within IDE plugins (IDEA and Eclipse) as follows:

p3c (alibaba/p3c)

Searching Database…

30.9K ·GitHub
Что это такое?Alibaba Java Coding Guidelines (P3C): правила написания кода на Java, собранные из накопленного опыта лучших практик технических команд Alibaba Group. Доступны в виде правил статического анализа для PMD и плагинов для IDE.
Что именно я устанавливаю — набор правил, библиотеку или приложение?Три составляющие: реализация правил для PMD (статический анализ), плагин для IntelliJ IDEA и плагин для Eclipse — так что проверки можно запускать в пайплайне анализа или получать подсказки прямо внутри IDE.
Как это запустить?Установите плагин в IntelliJ IDEA или Eclipse либо подключите набор правил P3C-PMD к своему запуску PMD. Сам README не содержит пошаговой инструкции по установке и отсылает за подробностями к документации P3C-PMD.
Что мне нужно иметь, чтобы этим пользоваться?Java-проект для анализа. Для варианта с плагином нужны IntelliJ IDEA или Eclipse, а правила для PMD работают везде, где вы запускаете PMD. Никаких других требований в README не указано.
Инструменты проверяют всё, что описано в документе с гайдлайнами?Нет — автоматизировано покрытие лишь частично: 49 правил реализовано в PMD плюс 4 правила, которые есть только в плагинах для IDEA и Eclipse. Всё остальное из гайдлайна живёт в самом документе, а не в инструментах.
Это актуально только для кода в стиле Alibaba?Подойдёт любой Java-команде — Alibaba писала его сначала для собственных разработчиков, но гайдлайн посвящён общим проблемам качества Java-кода, а не внутренним особенностям Alibaba.
Что именно проверяют эти правила?Классические ловушки Java: использование устаревших (deprecated) классов или методов, переопределение метода без аннотации @Override, обращение к статическим членам через экземпляр, нарушение контракта hashCode/equals для элементов Set или ключей Map. Примеры правил помечены [Mandatory] — это жёсткие запреты, а не рекомендации по стилю.
Сам гайдлайн доступен на английском?Да — последняя китайская редакция доступна в виде PDF для скачивания (Хуаншаньская редакция), а также есть английская версия Alibaba Java Coding Guidelines.
Насколько проект свежий?Последняя редакция гайдлайна — Хуаншаньская, выпущена 3 февраля 2022 года (2022.2.3).
Зачем Alibaba это создала и выложила в открытый доступ?Их команды снова и снова сталкивались с одними и теми же проблемами — дефекты в дизайне таблиц и индексов баз данных, приводившие к архитектурным изъянам и рискам для производительности, запутанная структура кода, уязвимый код без проверки подлинности — поэтому годы внутренних лучших практик они свели в один общий гайдлайн.
Creator
alibaba
Size
26.5 MB
Stars
30.9K
Updated
CommitMay 11
Age
9y
Commits · 90 Days