When it comes to Magento development Magento core developers need to follow certain Magento code demarcation standards. The article would discuss those standards suggested by 3rd party extension developers.
These standards were developed to ensure the following aspects
- Restore focus on utilizing jQuery templates.
- Restore focus on dissociating HTML, JS, CSS, from PHP classes.
You need to use meaningful, shortened lowercase words consisting of Latin characters linked with (-) hyphen.
It allows merging and simply the naming conventions used to that are used to put visual styles to different page elements.
A Semantic representation can be dependent on the ID attribute
- Encourages engineers to focus on the page components that can be used again rather than separate singleton components.
- Decreases the maintenance efforts required for the long term.
Here you need to follow the dissociation of presentation & content methodology.
The list given below will let you differentiate between the exact meaning of any document and the way this meaning is portrayed to the readers.
Content (Semantics) comprises
Presentation comprises of
Also, you need to utilize only semantic HTML markup and then should not utilize presentation markup.
Here, the visual presentation should be based on
- CSS pseudo-classes
- HTML class attributes
- HTML tags
- Form attribute of element type
- Form elements state attributes
For example, checked, disabled
CSS attributes wherein the values should be calculated values must be calculated after CSS-topics/Less code.
- Makes it easy to alter to its default layout by including CSS classes to and then eliminating them from the elements.
- Enhances style extensibility.
- Cut down the maintenance efforts required in the long run by embedding CSS styles in just one place.
Remember, inside the HTML tags, do not utilize inline CSS styles
- Enhances style extensibility letting engineers load styles easily by just toggling classes.
- Impost strict and clean split between visual presentation & markup.
- Lets front-end teams clean up the old styles faster and effortlessly.
The business logic should be based on just the following
- Form element name attributes or
- Data attributes
- Imposes strict and clean spaces between visual & business logic layers.
- Allows both front and backend staff to function independently.
- Enables modification of business logic and that too without influencing styling & vice versa.
It needs an underscore symbol to be used in the beginning and should be included in lowercase.
Do not choose HTML structure-based DOM elements based
- Helps frontend staff to change markup & themes thereby not disturbing business logic.
Also, to include repeatedly appearing markup in the DOM structure, you need to utilize jQuery templates
- Restores focus on jQuery templates.
- Cuts down the maintenance efforts that need to be put in the long run by getting markup code saved at one location.
- Making debugging efforts easy.
PHTML templates and PHP files
You must not hard-code inline CSS styles in PHP classes
- Reduces long-term maintenance efforts by having styles stored in one place.
- Makes debugging easy thereby reducing the count of files that needs modification.
- It makes the styles extensible and simpler to override when required.
- Decreases the efforts needed for long-term maintenance by keeping frontend business logic saved simply at one place.
- Decreases the count of files that needs modification.
You must not hard-code HTML markup (used in thetag) in PHP classes
- Reduces long-term maintenance efforts by having markup stored in one place.
- Reduces the number of files to be modified.
The standard for PHP coding
The team for Magento core development working with professional eCommerce development services makes use of this Magento coding standard. It is recommended that the Magento developers who are engaged in creating Magento extensions & customizations should also utilize this standard.
The Coding Standard for Magento offers certain rules that comprise the below-mentioned points
- Utilization of insecure functions
- PSR-1 & PSR-2 compliance
- Unescaped output
- Code syntax for PHP code
- Using detested PHP functions
- Using PHP superglobals
- Vacant code blocks
- Naming convention
- Raw SQL questions along with other common issues related to PHP & Magento based code
- Incorrect exception handling
Talking about this particular standard is about the requirements of Magento along with protocols for including inline code documentation, termed – DocBlocks.
Coming to some sections of Magento code, may not follow this standard.
It is optional for 3rd party Magento developers to follow these standards, but if followed it will let them create clean, consistent and simple-to-read inline docs.
Possibility of the Standard
The main objective of this standard is to merge code DocBlocks for the files not limited to a specific language.
Here are some points that may be considered by default
- The requirements are applicable for all the files irrespective of their programming language. However, a DocBlock standard for any specific particular language might not override it.
- Formatting is done as per the standard for PHP documents.
In this case, you need to use the ESLint rules of Magento to ensure the code written abides by the coding standards of Magento.
When it comes to Magento, makes use of
jQuery Library along with custom & standard jQuery widgets
When it comes to Magento Development Coding Standard for jQuery widgets you need to check out the coding standard for jQuery.
JSCS and Eslint Tools
- Magento JSCS rules
- Magento ESLint rules
You may find some sections of the guidelines do not abide by the standard, but it is under improvisation.
When the 3rd party Magento developers follow these standards, they can create transparent inline documents that are easy to read too.
Make use of JSDoc
Inline comments need to be of the following type “//”
You are suggested not to include broken sentences in documentation blocks. You should use capitalization (sentence style) and insert a period right at the end.
When it comes to sentence fragmentation, it is allowed in inline commentaries to keep them short.
Coding Standard for jQuery Widget
In Magento, the jQuery UI widgets & interactions are created on a reusable and simple base – jQuery UI Widget Factory.
This factory offers a convenient base for creating complex plug-ins and also flexible API.
The factory is engineered not just for creating plug-ins but also, they belong to jQuery. But, developers (using it for general purposes) wanting to create object-oriented components can use it without working on a common infrastructure.
Here, this standard is compulsory for all the Magento core developers and is also recommended for 3rd party extension developers.
Again, some sections of the Magento code may not abide by this standard but it is under improvisation.
Less Coding Standard
When elaborating on this standard, it can illustrate the internal Magento requirements for code styling, and code formatting for the developers’ team that creates CSS and Less code.
Also, some sections of this Magento code may not abide by the standards of the code but it is still under improvisation. The improved outcome would happen gradually.
Again, this particular coding standard is optional for 3rd party Magento developers.
Only spaces to be used for indentation-
- Indent size – four spaces
- Tab size- four spaces
- Continuation indent- four spaces
Style Guide for HTML
This guide is about Magento’s internal requirements, particularly for HTML code style for those teams that are involved in the development of CSS and Less code.
The developers who build Magento extensions & customizations are recommended to make use of these standards.
This guide is about Google HTML/CSS style guide including some modifications
Spaces that should be used for indentation-
- Continuation indent – four spaces
- Tab size – four spaces
- Indent size- four spaces
The above coding standards should be followed by every professional and beginner in Magento development to get clean and transparent code.