Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Exploring best practices and coding standards

From: Drupal 7 Custom Module Development

Video: Exploring best practices and coding standards

When developing modules, regardless of the audience, there are number of standard best practices that one should be aware of. First, I recommend using some sort of source revision control software. That way, code changes can be tracked over time, improving collaboration and accountability, providing a mechanism for versioning and facilitating backups. No matter how large or small the project is or how many people are participating, source control is a valuable tool. I personally use git which is a distributed revision control and source code management system used by Drupal, Linux core and many other projects. Drupal.org offers free sandbox git repositories for open source projects for developers looking to experiment.

Exploring best practices and coding standards

When developing modules, regardless of the audience, there are number of standard best practices that one should be aware of. First, I recommend using some sort of source revision control software. That way, code changes can be tracked over time, improving collaboration and accountability, providing a mechanism for versioning and facilitating backups. No matter how large or small the project is or how many people are participating, source control is a valuable tool. I personally use git which is a distributed revision control and source code management system used by Drupal, Linux core and many other projects. Drupal.org offers free sandbox git repositories for open source projects for developers looking to experiment.

For more information on git I recommend Git Essential Training with Kevin Skoglund here in the lynda.com online training library. Another extremely popular system is Apache Subversion. There are many other open source and commercial options available beyond git in subversion if you're seeking a particular feature set. Throughout this course, I've made reference to the Drupal Coding Standards several times. Coding Standards which are a series of rules and guidelines used to style the source code exist to enforce a unified structure to the code base.

The Drupal Coding Standards have evolved over years of community discussion and consensus in addition to practical real-world application. The standards applied to indentation, naming conventions, comments, control structures and much more. By writing standardized code, the overhead from interpreting different developer's styles is reduced. Even if the audience is limited to one or two people, using these coding standards makes code easier to maintain and understand. I highly recommend learning and reading the Drupal Coding Standards.

There's a lot of coding standards and especially in large projects it's easy to make mistakes or forget a rule or two. Fortunately there are automating testing suites available that facilitate an algorithmic approach to coding standard enforcement. The Coder project includes a module for assisting with code review using regular expressions to scan source code for things that don't adhere to the Drupal Coding Standards or deprecated functionality that should be updated. The Code Review Module has a user interface that can be used to scan a module or all modules for problems and provides a selectively robust report about what is wrong and what to do to fix it.

Once the Coder project is installed, the Code Review Module can be enabled by going to modules then checking Enabled next to Coder Review. Continue with enabling the dependency. Now the module list has a new option after each description. A link to Code Review which would display a default report. Additionally, I can go to configuration and there will be a new element under DEVELOPMENT named Coder.

This brings me to a Selection Form where I can select specific modules or themes to be reviewed. If you get stuck with an implementation, visit drupal.org/support for a number of options including community documentation, Internet relay chat, forms for discussion and many other resources. I personally make have a use of the Drupal API documentation at api.drupal.org. Often solutions can be found either in the official documentation or in a comment discussion beneath a particular function, class or a method.

If searching the documentation and the Internet doesn't turn up a solution, then I start asking questions. It's always good to research before asking instead of the other way around. An additional form of documentation can be found in the examples project which includes dozens of tiny modules. Each of the example modules implements a particular Drupal functionality with comprehensive in-line documentation and explanation and can be enabled to demonstrate how it works. Finally, to reiterate NEVER HACK CORE. 99% of the time whatever needs to be accomplished can be done so in a cleaner way with hooks or other APIs.

Show transcript

This video is part of

Image for Drupal 7 Custom Module Development
Drupal 7 Custom Module Development

24 video lessons · 5265 viewers

Jon Peck
Author

 

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Drupal 7 Custom Module Development.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.