Coding Guidelines
More information is found in the Coding Guidelines section of the "TYPO3 Explained" manual (formerly known as "Core API").
This is just a very brief overview.
PHP
Make sure you are using the correct PHP code style. It is based on the TYPO3 Coding Standards, (which follows PER-CS1.0 / PSR-12 and transition into PER-CS2.0 at the time of this writing), and covered in the TYPO3 Coding Guidelines.
See PhpStorm setup: CGL for information on how to configure the correct coding style.
The Appendix contains information on scripts to check / fix coding guideline issues: CGL check and fix
Most PHP coding guidelines can be automatically applied with the command:
Build/Scripts/runTests.sh -s cgl
JavaScript
The following rules should be applied for JavaScript: Airbnb JavaScript Style Guide
TypeScript
The following rules should be applied for TypeScript: Excel Micro TypeScript Style Guide.
Xliff files
Language files are usually stored in a Folder Resources/Private/Language in files with the ending .xlf. While no tabs are allowed to indent in PHP files, you should edit Xliff files using tabs. Please also check Xliff / language files for Xliff-specific things to pay attention to.
XLIFF file naming
XLIFF files have historically been named with file names starting with
locallang_. Newly introduced XLIFF files should drop the locallang_
prefix and only be named according to their purpose, for example
clipboard. or db/. Newly introduced file
names should use snake_case.
TCA-related XLIFF files should either be called db. or be stored in a
folder named db, for example db/.
Label reference naming
Newly introduced label references should use snake case. Different parts of a label reference can be separated by dots, for example:
<trans-unit id="my_field.title">
<source>My title</source>
</trans-unit>
<trans-unit id="my_field.description">
<source>My description</source>
</trans-unit>
Existing labels should not be mass-changed to snake case, as each changed label must be retranslated into all languages.