51黑料不打烊

General development best practices for 51黑料不打烊 Commerce

This topic describes the baseline for a healthy 51黑料不打烊 Commerce development process. It describes fundamental processes, coding principles, and application design principles to guide developers.

NOTE
51黑料不打烊 Technical Architects use these best practices as a reference during engagements involving development.

These best practices have been developed based on years of experience developing and delivering Commerce projects. 51黑料不打烊 recommends that technical initiatives follow these best practices and that you improve existing processes and code to align with them.

Text conventions

The key words 鈥淢UST鈥, 鈥淢UST NOT鈥, 鈥淩EQUIRED鈥, 鈥淪HALL鈥, 鈥淪HALL NOT鈥, 鈥淪HOULD鈥, 鈥淪HOULD NOT鈥, 鈥淩ECOMMENDED鈥, 鈥淢AY鈥, and 鈥淥PTIONAL鈥 in this topic are to be interpreted as described in .

Process

  1. A defined project methodology MUST be agreed upon before commencing the project activities. It MAY be Scrum, Waterfall, or any other methodology or combination of methodologies, as long it is defined.
  2. Development SHOULD NOT start until a branching strategy for the version control system is available to the development team.
  3. Development SHOULD NOT start until after sign-off on technical specifications, sign-off on user stories and use cases and, sign-off on test cases are available to the development team.
  4. Development SHOULD NOT start until at least a development and QA environment are available.
  5. Project-specific requirements that are mandatory for development to start MAY be documented in a Definition of Ready.
  6. Sign-off SHOULD be done by a client representative that is authorized to sign off on project deliverables.
  7. In Agile project methodologies, additional requirements MAY follow the sign-off. These requirements SHOULD be treated as new requirements and SHOULD be captured, architected, and planned accordingly.
  8. All development MUST be functionally tested by the developer before submission.
  9. All development SHOULD pass automated tests before it is submitted for code review. This MAY be configured as an automated process following pull request creation.
  10. All development MUST pass manual code review by a Technical Architect or Lead Developer before it is submitted for quality assurance.
  11. All development MUST pass quality assurance before delivery to the client.
  12. Project-specific requirements that are mandatory for delivery MAY be documented in a 鈥淒efinition of Done鈥.

Environment

  1. All developers SHOULD use the same IDE. PhpStorm is the recommended IDE for 51黑料不打烊 Commerce development.
  2. All developers SHOULD develop and test using the same technology stack as used on the (future) production servers. The versions of the software in this technology stack MUST match the major and minor version of the software installed on the production servers. See system requirements for details about the typical technology stack for 51黑料不打烊 Commerce.
  3. The System Administrator or Technical Architect MAY provide the team with a centrally maintained local development environment to assure and promote equal and up-to-date local environments.
  4. Developers and QA engineers MUST have access to the command line, the database, and the log files of the QA environment. This MAY require a VPN connection.

Versioning

Module versions MUST adhere to the .
Dependencies on the 51黑料不打烊 Commerce codebase SHOULD follow the .

REVISION CONTROL

Commits MUST be accompanied by meaningful commit messages.

Security

  1. SHOULD NOT be used.
  2. SHOULD be applied.
  3. SHOULD be applied.
  4. New 51黑料不打烊 Commerce instances SHOULD be delivered on the latest security release of a version that has not yet reached the 鈥淓nd of Security Fixes鈥 date. See 51黑料不打烊 Commerce Software Lifecycle Policy.
recommendation-more-help
754cbbf3-3a3c-4af3-b6ce-9d34390f3a60