php-annotated-monthly-december-2018 - 3. 기타 읽을 만한 글

Php_annotated_monthly 이미지

JetBrains에서 (거의) 매월 발행하는 PHP Annotated Monthly에서 적당히 제 입맛에 맞는 것만 추려 소개합니다. 언제나 그렇듯이 성급한 오역 죄송합니다.

이번달은 내용이 많아 쪼개서 올리고 있습니다. 세번째는 기타 읽을 만한 글!


Some nice posts on why it’s better to use classes instead of arrays

연관 배열 대신 클래스를 사용하면 좋은 이유를 설명한 세가지 글이 소개됐습니다.

PHP code static analysis based on the example of PHPStan, Phan, and Psalm

https://badootech.badoo.com/php-code-static-analysis-based-on-the-example-of-phpstan-phan-and-psalm-a20654c4011d

글쓴이의 회사에 새로 들어온 사람이 전체 코드에서 strict_types + scalar type hints를 의무화하자 버그 수가 엄청 줄었다는 말을 듣고 논의를 했는데, PHP는 컴파일 과정이 없는데 테스트 커버리지도 충분하지 않다면 문제가 더 발생할 것이라고 우려했다고 합니다. 그래서 정적 분석기를 도입한 이야기를 시작합니다. 세가지를 소개하는데요. 현재 시점의 watch/star/fork도 같이 찾아봤습니다.

  1. PHPStan
  • watch 171, star 5,509, fork 377
  1. Psalm
  • watch 46, star 1,212, fork 68
  1. Phan
  • watch 128, star 3,893, fork 249

셋 모두 사용법은 비슷하고, 활발하게 개발되고 있고, maintainer들이 24시간에 응답하고, 며칠 이내로 버그가 수정되는 편이라고 하는데요. 이 maintainer들 끼리도 서로에게 영향을 미치고 버그 리포팅이나 PR도 보낸다고 합니다.

그리고 각 analyser를 어떻게 사용하는지, 자기 회사에서 어떻게 적용했는지 소개합니다. 중간중간 PHPStorm과의 궁합도 설명해주고 있어요.

그래서 셋 중에 어떤 게 뽑혔을지 궁금하시죠? 다 쓴답니다.

analyser reports

14 Tips to Write PHP Code that is Hard to Maintain and Upgrade

https://www.tomasvotruba.cz/blog/2018/11/26/14-tips-to-write-php-code-that-is-hard-to-maintain-and-upgrade/

유지보수를 어렵게 코딩하는 방법 14가지입니다. 따라하지 마세요.

  1. Never use final
  2. Use protected instead of private
  3. Use Non-String Method Names
  4. Don’t Always use PSR-4
  5. Use Your Own Autoloader
  6. Hide Your Dependencies in Constructor
  7. Put Different Kinds of Objects to One Directory
  8. Use Annotations to Define Magic Methods
  9. Use Traits with Annotations to Define Magic Methods
  10. Don’t use a Different Naming to separate Interface, Trait from Class
  11. Use as Short Naming as Possible
  12. Don’t use a Different Naming to separate Abstract classes
  13. Use Fluent API with Different Return Values
  14. Use Fluent API with Different Return Values (the next level)

Sebastian De Deyne: Readability is relative

https://sebastiandedeyne.com/readability-is-relative/

가독성은 상대적이라는 글. 어떤 게 더 좋은 API인지를 묻는 글입니다.

friendsofphp.org

https://friendsofphp.org/

— The map of all PHP meetups around the world

전세계의 PHP 모임을 모아 보여주는 사이트입니다. 관련 블로그를 읽어보세요.