| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:eeedb6da-1989-1930-ce5e-5f275bd39007 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | B6EA:FFCAF:2D1248:39D7BD:698D1B61 |
| html-safe-nonce | 2f5d9df7491efb7bc8819d30c6e94a1cce3976fba71e19ae0d0577df1afc534d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNkVBOkZGQ0FGOjJEMTI0ODozOUQ3QkQ6Njk4RDFCNjEiLCJ2aXNpdG9yX2lkIjoiNzQ2ODY5NjYwNzY0MDA2NjkxNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | ad53332aedd6f9993e1872f5281bb9ab0c1fc702483bcfb6e508dee4511fb3b6 |
| hovercard-subject-tag | repository:236535479 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/sidigi/clean-code-php |
| twitter:image | https://opengraph.githubassets.com/652a1ca2f0a4f8eccbf1f9dbb2e5c56b60a19de3252b5102aec5d176330c7026/sidigi/clean-code-php |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/652a1ca2f0a4f8eccbf1f9dbb2e5c56b60a19de3252b5102aec5d176330c7026/sidigi/clean-code-php |
| og:image:alt | :bathtub: :ru: Концепции Чистого Кода, адаптированные для PHP - GitHub - sidigi/clean-code-php: :bathtub: Концепции Чистого Кода, адаптированные для PHP |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | c25395580e1e3bf82d705e0982a1b24255366088720fef945f1493d5e3e67954 |
| turbo-cache-control | no-preview |
| go-import | github.com/sidigi/clean-code-php git https://github.com/sidigi/clean-code-php.git |
| octolytics-dimension-user_id | 1765748 |
| octolytics-dimension-user_login | sidigi |
| octolytics-dimension-repository_id | 236535479 |
| octolytics-dimension-repository_nwo | sidigi/clean-code-php |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 101744213 |
| octolytics-dimension-repository_parent_nwo | peter-gribanov/clean-code-php |
| octolytics-dimension-repository_network_root_id | 79111500 |
| octolytics-dimension-repository_network_root_nwo | piotrplenik/clean-code-php |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 94219dcb9c044792ec271fd5b23c73419858bef7 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#start-of-content |
|
| https://patch-diff.githubusercontent.com/ |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsidigi%2Fclean-code-php |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsidigi%2Fclean-code-php |
|
Sign up
| https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=sidigi%2Fclean-code-php |
| Reload | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
| Reload | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
| Reload | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
|
sidigi
| https://patch-diff.githubusercontent.com/sidigi |
| clean-code-php | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
| peter-gribanov/clean-code-php | https://patch-diff.githubusercontent.com/peter-gribanov/clean-code-php |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Fsidigi%2Fclean-code-php |
|
Fork
1
| https://patch-diff.githubusercontent.com/login?return_to=%2Fsidigi%2Fclean-code-php |
|
Star
5
| https://patch-diff.githubusercontent.com/login?return_to=%2Fsidigi%2Fclean-code-php |
|
MIT license
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/LICENSE |
|
5
stars
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/stargazers |
|
2.3k
forks
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/forks |
|
Branches
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/branches |
|
Tags
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/tags |
|
Activity
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/activity |
|
Star
| https://patch-diff.githubusercontent.com/login?return_to=%2Fsidigi%2Fclean-code-php |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Fsidigi%2Fclean-code-php |
|
Code
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
|
Pull requests
0
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/actions |
|
Projects
0
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/projects |
|
Security
0
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/security |
|
Insights
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/pulse |
|
Code
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
|
Pull requests
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/actions |
|
Projects
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/projects |
|
Security
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/security |
|
Insights
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/pulse |
| Branches | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/branches |
| Tags | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/tags |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/branches |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/tags |
| 380 Commits | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/commits/ru/ |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php/commits/ru/ |
| .gitattributes | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.gitattributes |
| .gitattributes | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.gitattributes |
| .travis-build.php | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.travis-build.php |
| .travis-build.php | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.travis-build.php |
| .travis.yml | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.travis.yml |
| .travis.yml | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/.travis.yml |
| LICENSE | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/LICENSE |
| LICENSE | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/LICENSE |
| README.md | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/README.md |
| README.md | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/blob/ru/README.md |
| README | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
| MIT license | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#чистый-код-на-php |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#содержание |
| Введение | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5 |
| Переменные | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5 |
| Используйте значимые и произносимые имена переменных | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D0%BC%D1%8B%D0%B5-%D0%B8-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%BD%D0%BE%D1%81%D0%B8%D0%BC%D1%8B%D0%B5-%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85 |
| Для одного типа переменных используйте единый словарь | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%94%D0%BB%D1%8F-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE-%D1%82%D0%B8%D0%BF%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B5%D0%B4%D0%B8%D0%BD%D1%8B%D0%B9-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C |
| Используйте имена, по которым удобно искать (часть 1) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0-%D0%BF%D0%BE-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%BC-%D1%83%D0%B4%D0%BE%D0%B1%D0%BD%D0%BE-%D0%B8%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1 |
| Используйте имена, по которым удобно искать (часть 2) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0-%D0%BF%D0%BE-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%BC-%D1%83%D0%B4%D0%BE%D0%B1%D0%BD%D0%BE-%D0%B8%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2 |
| Используйте пояснительные переменные | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D0%BE%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5 |
| Избегайте глубоких вложений (часть 1) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%B3%D0%BB%D1%83%D0%B1%D0%BE%D0%BA%D0%B8%D1%85-%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1 |
| Избегайте глубоких вложений (часть 2) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%B3%D0%BB%D1%83%D0%B1%D0%BE%D0%BA%D0%B8%D1%85-%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2 |
| Избегайте ментального сопоставления | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F |
| Не добавляйте ненужный контекст | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9D%D0%B5-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B9%D1%82%D0%B5-%D0%BD%D0%B5%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82 |
| Вместо сокращённых или условных используйте аргументы по умолчанию | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%92%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D1%81%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%BB%D0%B8-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D1%85-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E |
| Сравнение | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5 |
| Используйте идентичное сравнение | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D0%B5-%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5 |
| Функции | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8 |
| Аргументы функций (в идеале два или меньше) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%90%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-%D0%B8%D0%B4%D0%B5%D0%B0%D0%BB%D0%B5-%D0%B4%D0%B2%D0%B0-%D0%B8%D0%BB%D0%B8-%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5 |
| Имена функций должны быть говорящими | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%BC%D0%B5%D0%BD%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D1%8B-%D0%B1%D1%8B%D1%82%D1%8C-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D1%8F%D1%89%D0%B8%D0%BC%D0%B8 |
| Функции должны быть лишь одним уровнем абстракции | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D1%8B-%D0%B1%D1%8B%D1%82%D1%8C-%D0%BB%D0%B8%D1%88%D1%8C-%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC-%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%BC-%D0%B0%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D0%B8 |
| Не используйте флаги в качестве параметров функций | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9D%D0%B5-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D1%84%D0%BB%D0%B0%D0%B3%D0%B8-%D0%B2-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 |
| Избегайте побочных эффектов | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D0%BE%D0%B1%D0%BE%D1%87%D0%BD%D1%8B%D1%85-%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%BE%D0%B2 |
| Не пишите в глобальные функции | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9D%D0%B5-%D0%BF%D0%B8%D1%88%D0%B8%D1%82%D0%B5-%D0%B2-%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8 |
| Не используйте шаблон Одиночка (Singleton) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9D%D0%B5-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD-%D0%9E%D0%B4%D0%B8%D0%BD%D0%BE%D1%87%D0%BA%D0%B0-singleton |
| Инкапсулирование условных выражений | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9 |
| Избегайте негативных условных выражений | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BD%D0%B5%D0%B3%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D1%85-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9 |
| Избегайте условных выражений | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9 |
| Избегайте проверки типов (часть 1) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1 |
| Избегайте проверки типов (часть 2) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2 |
| Убирайте мёртвый код | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A3%D0%B1%D0%B8%D1%80%D0%B0%D0%B9%D1%82%D0%B5-%D0%BC%D1%91%D1%80%D1%82%D0%B2%D1%8B%D0%B9-%D0%BA%D0%BE%D0%B4 |
| Объекты и структуры данных | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B-%D0%B8-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 |
| Используйте инкапсуляцию объектов | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B8%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8E-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2 |
| У объектов должны быть private/protected компоненты | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A3-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D1%8B-%D0%B1%D1%8B%D1%82%D1%8C-privateprotected-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B |
| Классы | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B |
| Композиция лучше наследования | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F-%D0%BB%D1%83%D1%87%D1%88%D0%B5-%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F |
| Избегать Текучий интерфейс (Fluent interface) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%98%D0%B7%D0%B1%D0%B5%D0%B3%D0%B0%D1%82%D1%8C-%D0%A2%D0%B5%D0%BA%D1%83%D1%87%D0%B8%D0%B9-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81-fluent-interface |
| Предпочтительней final классы | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D0%BE%D1%87%D1%82%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B5%D0%B9-final-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B |
| SOLID | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#solid |
| Принцип единственной ответственности (Single Responsibility Principle, SRP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%B5%D0%B4%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8-single-responsibility-principle-srp |
| Принцип открытости/закрытости (Open/Closed Principle, OCP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8-openclosed-principle-ocp |
| Принцип подстановки Барбары Лисков (Liskov Substitution Principle, LSP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D0%91%D0%B0%D1%80%D0%B1%D0%B0%D1%80%D1%8B-%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2-liskov-substitution-principle-lsp |
| Принцип разделения интерфейса (Interface Segregation Principle, ISP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-interface-segregation-principle-isp |
| Принцип инверсии зависимостей (Dependency Inversion Principle, DIP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%B8%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9-dependency-inversion-principle-dip |
| Не повторяйся (Don’t repeat yourself, DRY) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9D%D0%B5-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D1%8F%D0%B9%D1%81%D1%8F-dont-repeat-yourself-dry |
| Переводы | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D1%8B |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#введение |
| Clean Code | https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 |
| clean-code-javascript | https://github.com/ryanmcdermott/clean-code-javascript |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#переменные |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-значимые-и-произносимые-имена-переменных |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#для-одного-типа-переменных-используйте-единый-словарь |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-имена-по-которым-удобно-искать-часть-1 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-имена-по-которым-удобно-искать-часть-2 |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-пояснительные-переменные |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-глубоких-вложений-часть-1 |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-глубоких-вложений-часть-2 |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-ментального-сопоставления |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#не-добавляйте-ненужный-контекст |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#вместо-сокращённых-или-условных-используйте-аргументы-по-умолчанию |
| контроль типов | http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#сравнение |
| идентичное сравнение | http://php.net/manual/en/language.operators.comparison.php |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-идентичное-сравнение |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#функции |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#аргументы-функций-в-идеале-два-или-меньше |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#имена-функций-должны-быть-говорящими |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#функции-должны-быть-лишь-одним-уровнем-абстракции |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#не-используйте-флаги-в-качестве-параметров-функций |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-побочных-эффектов |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#не-пишите-в-глобальные-функции |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#не-используйте-шаблон-одиночка-singleton |
| антипаттерном | https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%B8%D0%BD%D0%BE%D1%87%D0%BA%D0%B0_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) |
| чем-то попахивает | https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4_%D1%81_%D0%B7%D0%B0%D0%BF%D0%B0%D1%88%D0%BA%D0%BE%D0%BC |
| единой ответственности | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%B5%D0%B4%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8-single-responsibility-principle-srp |
| связанным | https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%86%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 |
| Misko Hevery | http://misko.hevery.com/about/ |
| корне проблемы | http://misko.hevery.com/2008/08/25/root-cause-of-singletons/ |
| DSN | http://php.net/manual/en/pdo.construct.php#refsect1-pdo.construct-parameters |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#инкапсулирование-условных-выражений |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-негативных-условных-выражений |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-условных-выражений |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-проверки-типов-часть-1 |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегайте-проверки-типов-часть-2 |
| объявление типов | http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#убирайте-мёртвый-код |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#объекты-и-структуры-данных |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#используйте-инкапсуляцию-объектов |
| Открытости/Закрытости | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8-openclosed-principle-ocp |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#у-объектов-должны-быть-privateprotected-компоненты |
| Jenga эффекта | http://www.urbandictionary.com/define.php?term=Jengaphobia&defid=2494196 |
| сообщение в блоге | http://fabien.potencier.org/pragmatism-over-theory-protected-vs-private.html |
| Fabien Potencier | https://github.com/fabpot |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#классы |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#композиция-лучше-наследования |
| Шаблоны проектирования | https://en.wikipedia.org/wiki/Design_Patterns |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#избегать-текучий-интерфейс-fluent-interface |
| Текучий интерфейс (Fluent interface) | https://ru.wikipedia.org/wiki/Fluent_interface |
| Цепочки методов (Method chaining) | https://en.wikipedia.org/wiki/Method_chaining |
| PHPUnit Mock Builder | https://phpunit.de/manual/current/en/test-doubles.html |
| Doctrine Query Builder | http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html |
| Инкапсуляции | https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) |
| Декораторов | https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) |
| мокинг (mock) | https://ru.wikipedia.org/wiki/Mock-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82 |
| сообщение в блоге | https://ocramius.github.io/blog/fluent-interfaces-are-evil/ |
| Marco Pivetta | https://github.com/Ocramius |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#предпочтительней-final-классы |
| композицию | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#prefer-composition-over-inheritance |
| Single Responsibility Pattern | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#single-responsibility-principle-srp |
| пост в блоге | https://ocramius.github.io/blog/when-to-declare-classes-final/ |
| Marco Pivetta (Ocramius) | https://ocramius.github.io/ |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#solid |
| S: Принцип единственной ответственности (Single Responsibility Principle, SRP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%B5%D0%B4%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8-single-responsibility-principle-srp |
| O: Принцип открытости/закрытости (Open/Closed Principle, OCP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D1%81%D1%82%D0%B8-openclosed-principle-ocp |
| L: Принцип подстановки Барбары Лисков (Liskov Substitution Principle, LSP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D0%91%D0%B0%D1%80%D0%B1%D0%B0%D1%80%D1%8B-%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2-liskov-substitution-principle-lsp |
| I: Принцип разделения интерфейса (Interface Segregation Principle, ISP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-interface-segregation-principle-isp |
| D: Принцип инверсии зависимостей (Dependency Inversion Principle, DIP) | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%B8%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9-dependency-inversion-principle-dip |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#принцип-единственной-ответственности-single-responsibility-principle-srp |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#принцип-открытостизакрытости-openclosed-principle-ocp |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#принцип-подстановки-барбары-лисков-liskov-substitution-principle-lsp |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#принцип-разделения-интерфейса-interface-segregation-principle-isp |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#принцип-инверсии-зависимостей-dependency-inversion-principle-dip |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#не-повторяйся-dont-repeat-yourself-dry |
| DRY | https://en.wikipedia.org/wiki/Don%27t_repeat_yourself |
| Классы | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#переводы |
| jupeter/clean-code-php | https://github.com/jupeter/clean-code-php |
| php-cpm/clean-code-php | https://github.com/php-cpm/clean-code-php |
| peter-gribanov/clean-code-php | https://github.com/peter-gribanov/clean-code-php |
| fikoborquez/clean-code-php | https://github.com/fikoborquez/clean-code-php |
| fabioars/clean-code-php | https://github.com/fabioars/clean-code-php |
| jeanjar/clean-code-php | https://github.com/jeanjar/clean-code-php/tree/pt-br |
| panuwizzle/clean-code-php | https://github.com/panuwizzle/clean-code-php |
| errorname/clean-code-php | https://github.com/errorname/clean-code-php |
| viethuongdev/clean-code-php | https://github.com/viethuongdev/clean-code-php |
| yujineeee/clean-code-php | https://github.com/yujineeee/clean-code-php |
| anilozmen/clean-code-php | https://github.com/anilozmen/clean-code-php |
| ⬆ вернуться к началу | https://patch-diff.githubusercontent.com/sidigi/clean-code-php#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 |
|
Readme
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#readme-ov-file |
|
MIT license
| https://patch-diff.githubusercontent.com/sidigi/clean-code-php#MIT-1-ov-file |
| Please reload this page | https://patch-diff.githubusercontent.com/sidigi/clean-code-php |
|
Activity | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/activity |
|
5
stars | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/stargazers |
|
0
watching | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/watchers |
|
1
fork | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/forks |
|
Report repository
| https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fsidigi%2Fclean-code-php&report=sidigi+%28user%29 |
| Releases | https://patch-diff.githubusercontent.com/sidigi/clean-code-php/releases |
| Packages
0 | https://patch-diff.githubusercontent.com/users/sidigi/packages?repo_name=clean-code-php |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |