14
CODING-STYLEGUIDES Jan-Hendrik Willms Universität Oldenburg

CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

CODING-STYLEGUIDESJan-Hendrik Willms

Universität Oldenburg

Page 2: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

CSS / LESS / SASS

Page 3: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

AIRBNB CSS / SASS STYLEGUIDE

➤ http://bit.ly/airbnbcss

➤ OOCSS / „Object Oriented CSS“: • Style Objekte, nicht HTML-Elemente

• Keine IDs, nur Klassen

• So flach wie möglich

➤ BEM / „Block-Element-Modifier“ • .block {}

• .block__element {}

• .block--modifier {}

Page 4: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

TOOLING

➤ https://stylelint.io/

Page 5: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

JAVASCRIPT

Page 6: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

JAVASCRIPT

➤ https://google.github.io/styleguide/jsguide.html

➤ https://github.com/airbnb/javascript

➤ Linting erfolgt durch Webpack

Page 7: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

SQL

Page 8: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

➤ Brauchen wir hier etwas?

➤ Gibt es Dinge, über die wir reden sollten?

Page 9: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

PHP

Page 10: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

➤ Aktuell Zend Framework Styleguide von anno dazumal

➤ Keine Berücksichtigung aktueller Neuerungen in PHP

➤ Uneinigkeit, wie Dinge abgebildet werden sollen

➤ Absehbare automatische Überprüfung schwierig

Page 11: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

ZEND CODING STANDARD 2.4 (2013)

➤ http://bit.ly/zend2013

➤ Aktueller als unsere Version, marginale Unterschiede

➤ Zend selbst nutzt diesen Standard nicht mehr

Page 12: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

PHP STANDARDS RECOMMENDATIONS

➤ http://bit.ly/psr-php

➤ PSR-1: Basic Coding Standard (final)

➤ PSR-2: Coding Style Guide (final)

➤ PSR-12: Extended Coding Style Guide (review)

➤ PSR-5: PHPDoc Standard (draft)

➤ PSR-19: PHPDoc tags (draft)

Page 13: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

PHP STANDARDS RECOMMENDATIONS

➤ Sehr weit verbreitet

➤ Viele Tools, die dies unterstützen

➤ Weitere nützliche Recommendations:

• PSR-4: Autoloading Standard

• PSR-7: HTTP Message Interface (Trails 2.0)

• PSR-15: HTTP Handlers

Page 14: CODING-STYLEGUIDESAktuell Zend Framework Styleguide von anno dazumal Keine Berücksichtigung aktueller Neuerungen in PHP Uneinigkeit, wie Dinge abgebildet werden sollen Absehbare automatische

TOOLING

➤ Standards

• PHPMD - PHP Mess Detector

• PHPCS - PHP_CodeSniffer

➤ Statische Codeanalyse

• PHPStan - PHP Static Analysis Tool

• Phan

• Psalm