Every coder needs to follow a set of rules to code in any language. Drupal too follows a standard for coding and best practices to ensure the code is readable, manageable and editable.
This document discusses Behavior Driven Development (BDD) and the Behat testing framework. BDD develops applications based on required behaviors and uses tests written in plain language. Behat is a PHP implementation of BDD that uses the Gherkin language to write tests and annotations to match steps to code. Behat generates skeleton step code, allows reusable steps, and has extensions for different environments and frameworks.
This document provides an overview of the Cucumber testing tool. It discusses Behavior Driven Development (BDD) and how Cucumber enables BDD. The document covers the key components of Cucumber including Gherkin language, feature files, step definitions, and tags. It also provides examples of how Cucumber can be used with Selenium for automated testing and discusses Cucumber reports.
The document discusses Cucumber, a tool that allows executing plain text behavioral descriptions as automated tests. It can:
- Execute Ruby code associated with sentences written in a natural language format. This allows customers to read and understand the tests.
- Be used for end-to-end testing of web applications from the user interface to the data layer.
- Leverage the Ruby programming language to access databases, configure tests, and more.
- Grow project-specific vocabularies over time through its framework and grammar to improve communication between customers and developers.
Are you tired of TDD workshops that make you do boring things like calculate
bowling scores and prime factors or demonstrate how to win at the game of
life? If so, this is the session for you! In this TDD workshop we will be
building the domain model for EverCraft -- a new MMORPG from Blizzards of the
Coast. We have lots of story cards prepared covering features from combat to
magic, classes to spells, and races to items. Plus, we'll be defining some of
these cards during the session in case you want that +9 knife of ogre slaying
or enjoy casting magic missile at the darkness.
This workshop is language agnotisic and for all levels of developers. The
focus is on TDD and emergent design but pair programming will be covered as
well. The only requirement is that you bring a laptop and that you be able to
test-drive you code with your language of choice. When you are done you will
emerge a better programmer for the experience but there is small chance you
will have a craving for Cheetos and Mountain Dew.
How to become a Zend Certified PHP EngineerTuyen Vuong
To become Zend PHP certified, one must take a 70 question, 90 minute exam covering PHP basics, data types, strings, arrays, input/output, functions, object oriented programming, databases, security, and web features. The exam costs $195 and is based on PHP 5.5. To prepare, candidates should study the PHP manual, sample questions, and take practice exams. Hands-on coding experience and memorizing common functions are also recommended. The certification can increase one's professional profile and provides access to networking groups. International recognition demonstrates PHP skills and knowledge.
Javascript Tests with Jasmine for Front-end DevsChris Powers
Jasmine isn't just for Rubyists - it's for anyone that wants to revolutionize their Javascript code and development workflow. I give a tutorial in getting up and running with an agile, Test Driven Development workflow using nothing but HTML and Javascript.
This document provides a recap of CSS and an introduction to JavaScript. It summarizes key CSS concepts like linking CSS, separating styles from content, syntax, selectors using classes, IDs, and specificity. It then introduces JavaScript, explaining that programming allows adding interactivity and functionality compared to just describing content with HTML and CSS. Finally, it discusses some fundamental JavaScript concepts like variables, data types, and using the browser console to execute code.
This document discusses Behavior Driven Development (BDD) and the Behat testing framework. BDD develops applications based on required behaviors and uses tests written in plain language. Behat is a PHP implementation of BDD that uses the Gherkin language to write tests and annotations to match steps to code. Behat generates skeleton step code, allows reusable steps, and has extensions for different environments and frameworks.
This document provides an overview of the Cucumber testing tool. It discusses Behavior Driven Development (BDD) and how Cucumber enables BDD. The document covers the key components of Cucumber including Gherkin language, feature files, step definitions, and tags. It also provides examples of how Cucumber can be used with Selenium for automated testing and discusses Cucumber reports.
The document discusses Cucumber, a tool that allows executing plain text behavioral descriptions as automated tests. It can:
- Execute Ruby code associated with sentences written in a natural language format. This allows customers to read and understand the tests.
- Be used for end-to-end testing of web applications from the user interface to the data layer.
- Leverage the Ruby programming language to access databases, configure tests, and more.
- Grow project-specific vocabularies over time through its framework and grammar to improve communication between customers and developers.
Are you tired of TDD workshops that make you do boring things like calculate
bowling scores and prime factors or demonstrate how to win at the game of
life? If so, this is the session for you! In this TDD workshop we will be
building the domain model for EverCraft -- a new MMORPG from Blizzards of the
Coast. We have lots of story cards prepared covering features from combat to
magic, classes to spells, and races to items. Plus, we'll be defining some of
these cards during the session in case you want that +9 knife of ogre slaying
or enjoy casting magic missile at the darkness.
This workshop is language agnotisic and for all levels of developers. The
focus is on TDD and emergent design but pair programming will be covered as
well. The only requirement is that you bring a laptop and that you be able to
test-drive you code with your language of choice. When you are done you will
emerge a better programmer for the experience but there is small chance you
will have a craving for Cheetos and Mountain Dew.
How to become a Zend Certified PHP EngineerTuyen Vuong
To become Zend PHP certified, one must take a 70 question, 90 minute exam covering PHP basics, data types, strings, arrays, input/output, functions, object oriented programming, databases, security, and web features. The exam costs $195 and is based on PHP 5.5. To prepare, candidates should study the PHP manual, sample questions, and take practice exams. Hands-on coding experience and memorizing common functions are also recommended. The certification can increase one's professional profile and provides access to networking groups. International recognition demonstrates PHP skills and knowledge.
Javascript Tests with Jasmine for Front-end DevsChris Powers
Jasmine isn't just for Rubyists - it's for anyone that wants to revolutionize their Javascript code and development workflow. I give a tutorial in getting up and running with an agile, Test Driven Development workflow using nothing but HTML and Javascript.
This document provides a recap of CSS and an introduction to JavaScript. It summarizes key CSS concepts like linking CSS, separating styles from content, syntax, selectors using classes, IDs, and specificity. It then introduces JavaScript, explaining that programming allows adding interactivity and functionality compared to just describing content with HTML and CSS. Finally, it discusses some fundamental JavaScript concepts like variables, data types, and using the browser console to execute code.
How to succeed in software development. Following agile methodology principles helps to achieve much better results. Know more about eXtreme Programming, one of the famous agile software development methodology.
This document summarizes a talk on getting comfortable with behavior driven development (BDD). It begins by defining BDD and explaining that it builds on test driven development (TDD) by describing application behavior from an outside-in perspective with customer involvement. It then discusses that TDD focuses on writing tests first before code, using a red-green-refactor workflow. BDD further crystallizes requirements and ensures programmer priorities are aligned by implementing tests in business language rather than code. The document emphasizes thinking through requirements before writing code or tests to ensure the correct behavior is described and tested.
The document discusses Behavior Driven Development (BDD) and the Python tool Behave. BDD develops applications based on required behaviors and utilizes tests written in plain language. Behave is a Python implementation of BDD that uses the Gherkin language to write tests in plain language steps. It provides reusable step code and generates skeleton step code to document features and requirements.
This document discusses domain-specific languages (DSLs). It defines a DSL as a computer language specialized for a particular application domain, in contrast to a general-purpose language. The document notes that an internal DSL is just a particular idiom for writing code in a host language, like Ruby, while an external DSL is a separate language parsed into data the host language understands. Examples of DSLs given include SQL, CSS, Rake, and ActiveRecord migrations. Reasons for using DSLs include improved developer productivity, understandability by non-programmers, and that code reads like a conversation. The document clarifies that while tools like FactoryGirl and Fabrication provide syntax helpers, they are not
Cold Fusion is a server-side scripting language ideal for rapidly building and deploying scalable web applications without needing browser plugins. It uses tag-based syntax similar to HTML and integrates easily with all major databases. While more expensive initially than PHP, Cold Fusion provides robust debugging tools and state management. For developing basic to advanced database-driven websites, Cold Fusion offers a relatively short learning curve and strong support community.
BDD Testing Using Godog - Bangalore Golang Meetup # 32OpenEBS
BDD uses natural language to describe the "desired behaviour" of the system, that can be understood by both the developer and the customer
Demo of an existing BDD application using Godog predominantly used with golang
How to execute Automation Testing using Seleniumvaluebound
Selenium is a software testing framework for web applications composed of components helping in the development of web applications and testing automations. In this presentation I have given brief about how to execute Automation Testing using Selenium.
In this presentation, Mashirul Haque, Drupal Consultant, has explained Token Module, its uses and how to create custom Tokens in Drupal 8. Basically, Token Module provides an API that is used to provide tokens for all other core or contributed module in a bunch.
The presentation also contains working example showing how to create custom tokens and use it.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Automation testing for beginners on Seleniumvaluebound
The document discusses automation testing using Selenium, including tools for automation testing, how to locate elements in Selenium using ID, Name, ClassName, Link text, and Xpath, and what TestNG is and its advantages over JUnit such as easier annotations, generating logs and HTML reports, and dependent methods.
A RestFul web service allows exposing existing code functionality over a network and makes applications independent of platform and technology. RESTful services use HTTP requests and are lightweight, scalable and maintainable. In Drupal 8, web services are built into the core and include modules to export data via REST API and create custom REST methods. API keys can be generated and set through an admin form to access nodes, with routing and permissions configured for the API form.
In Drupal 8, Features module allows the capture and management of features. Features is used to export Configuration part of DB, which is consisting of Content types, Views, Fields, Site info.
In this presentation, Prince John has given an overview of Apache Cordova, also referred as PhoneGap - a software development framework.
To develop apps using PhoneGap, developers do not need to know a mobile programming language, but only web-development languages.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
In this short presentation, Neel Prakash, Drupal Consultant, has discussed on JSON API, its advantages over Core REST API, Document Structure, HTTP methods, Request headers, Response codes and others.
The goal of this presentation is to bring you valuable information to help you in understanding JSON API. We hope you enjoy this post!
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
How to Schedule Automated Tasks in Drupal with Cron?valuebound
Cron, A daemon/background process that runs at periodic intervals of time. It can be run periodically at pre-decided times and intervals. Harika, one of Sr. Drupal developer at Valuebound has shared her experience about Cron process in brief.
Drupal Aware Design: Good Techniques for Better Themesnyccamp
Between design and Drupal theme we change gears dramatically in process and thinking. As designers, we craft our work with wowing users in mind, and as themers, we strive to architect the design and make it pop. We can better unify these approaches to save time and work better. Drupal is adept at making virtually any design look great. What can we achieve in design, both individually and as a community? How can we build diverse designs seamlessly without a hitch along the way? We'll talk about how to improve every step of a process, from prototypes to wireframes. We'll discuss resolving complications like handovers in markup and themes that, due to a design's particularities or a time crunch, end up hacky and impossible to extend. We'll also dwell briefly on important ideas like accessibility and semantics, all while creating Drupal-ready designs and themes that perform perfectly across the board!
Here's a brief summary of what we'll tackle:
Some design principles, including Drupal's
Drupal-aware: Design with Drupal, not for Drupal
One design, many layout possibilities
Thinking about Drupal's structure and markup
How to write an awesome theme
Drupal code standards and conventions
Contributing good themes
To Drupal and beyond: Code that lasts
This session is geared toward designers with some HTML/CSS background and theming beginners. We will also work with a little painless PHP.
Speaker(s): Preston So
Experience Level: Beginner
WordCamp Pune 2017- WordPress Coding standardsSwapnil Patil
Coding standards are a set of guidelines that recommend programming style, practices, and methods for aspects of a program. They cover file organization, indentation, comments, declarations, statements, whitespace, naming conventions, programming practices, principles, rules of thumb, architectural best practices and more. A coding standards document tells developers how to write code in a consistent style so that a large project is coded the same way by different programmers, making the code easier to understand and maintain. Consistent coding standards ensure any developer looking at the code will know what to expect throughout the application.
Every project has a development standard.
Sometimes the standard is “if it was hard to write, it should be hard to maintain.”
Developing, and following, a corporate Best Practices standard will lead to continuity, maintainability, robustness, and pride.
Many of us have heard about Docs As Code. Applying the same tooling and delivery CI/CD (Continuous Integration and Continuous Delivery) pipelines as developers to improve the quality of (API) documentation sounds nifty. We’ll take a look at the philosophy, best practices and how to get started.
This document discusses WordPress coding standards for writing plugins. It recommends following WordPress coding standards to improve code readability, avoid errors, and ensure consistency. The standards cover HTML, CSS, JavaScript, PHP, naming conventions including prefixing everything, documentation using DocBlocks, and organizing plugin files into folders for admin, includes, languages and public functionality. Following these standards makes the code easier to understand, modify and automatically generate documentation.
This document discusses code standards and best practices for writing maintainable code. It emphasizes the importance of code organization, documentation, naming conventions, indentation, brace styles, commenting, consistency, and readability. Specific guidelines are provided for naming conventions, indentation, brace styles, and commenting. The document stresses choosing and adhering to coding standards to promote uniformity and minimize issues when collaborating on projects.
How to succeed in software development. Following agile methodology principles helps to achieve much better results. Know more about eXtreme Programming, one of the famous agile software development methodology.
This document summarizes a talk on getting comfortable with behavior driven development (BDD). It begins by defining BDD and explaining that it builds on test driven development (TDD) by describing application behavior from an outside-in perspective with customer involvement. It then discusses that TDD focuses on writing tests first before code, using a red-green-refactor workflow. BDD further crystallizes requirements and ensures programmer priorities are aligned by implementing tests in business language rather than code. The document emphasizes thinking through requirements before writing code or tests to ensure the correct behavior is described and tested.
The document discusses Behavior Driven Development (BDD) and the Python tool Behave. BDD develops applications based on required behaviors and utilizes tests written in plain language. Behave is a Python implementation of BDD that uses the Gherkin language to write tests in plain language steps. It provides reusable step code and generates skeleton step code to document features and requirements.
This document discusses domain-specific languages (DSLs). It defines a DSL as a computer language specialized for a particular application domain, in contrast to a general-purpose language. The document notes that an internal DSL is just a particular idiom for writing code in a host language, like Ruby, while an external DSL is a separate language parsed into data the host language understands. Examples of DSLs given include SQL, CSS, Rake, and ActiveRecord migrations. Reasons for using DSLs include improved developer productivity, understandability by non-programmers, and that code reads like a conversation. The document clarifies that while tools like FactoryGirl and Fabrication provide syntax helpers, they are not
Cold Fusion is a server-side scripting language ideal for rapidly building and deploying scalable web applications without needing browser plugins. It uses tag-based syntax similar to HTML and integrates easily with all major databases. While more expensive initially than PHP, Cold Fusion provides robust debugging tools and state management. For developing basic to advanced database-driven websites, Cold Fusion offers a relatively short learning curve and strong support community.
BDD Testing Using Godog - Bangalore Golang Meetup # 32OpenEBS
BDD uses natural language to describe the "desired behaviour" of the system, that can be understood by both the developer and the customer
Demo of an existing BDD application using Godog predominantly used with golang
How to execute Automation Testing using Seleniumvaluebound
Selenium is a software testing framework for web applications composed of components helping in the development of web applications and testing automations. In this presentation I have given brief about how to execute Automation Testing using Selenium.
In this presentation, Mashirul Haque, Drupal Consultant, has explained Token Module, its uses and how to create custom Tokens in Drupal 8. Basically, Token Module provides an API that is used to provide tokens for all other core or contributed module in a bunch.
The presentation also contains working example showing how to create custom tokens and use it.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Automation testing for beginners on Seleniumvaluebound
The document discusses automation testing using Selenium, including tools for automation testing, how to locate elements in Selenium using ID, Name, ClassName, Link text, and Xpath, and what TestNG is and its advantages over JUnit such as easier annotations, generating logs and HTML reports, and dependent methods.
A RestFul web service allows exposing existing code functionality over a network and makes applications independent of platform and technology. RESTful services use HTTP requests and are lightweight, scalable and maintainable. In Drupal 8, web services are built into the core and include modules to export data via REST API and create custom REST methods. API keys can be generated and set through an admin form to access nodes, with routing and permissions configured for the API form.
In Drupal 8, Features module allows the capture and management of features. Features is used to export Configuration part of DB, which is consisting of Content types, Views, Fields, Site info.
In this presentation, Prince John has given an overview of Apache Cordova, also referred as PhoneGap - a software development framework.
To develop apps using PhoneGap, developers do not need to know a mobile programming language, but only web-development languages.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
In this short presentation, Neel Prakash, Drupal Consultant, has discussed on JSON API, its advantages over Core REST API, Document Structure, HTTP methods, Request headers, Response codes and others.
The goal of this presentation is to bring you valuable information to help you in understanding JSON API. We hope you enjoy this post!
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
How to Schedule Automated Tasks in Drupal with Cron?valuebound
Cron, A daemon/background process that runs at periodic intervals of time. It can be run periodically at pre-decided times and intervals. Harika, one of Sr. Drupal developer at Valuebound has shared her experience about Cron process in brief.
Drupal Aware Design: Good Techniques for Better Themesnyccamp
Between design and Drupal theme we change gears dramatically in process and thinking. As designers, we craft our work with wowing users in mind, and as themers, we strive to architect the design and make it pop. We can better unify these approaches to save time and work better. Drupal is adept at making virtually any design look great. What can we achieve in design, both individually and as a community? How can we build diverse designs seamlessly without a hitch along the way? We'll talk about how to improve every step of a process, from prototypes to wireframes. We'll discuss resolving complications like handovers in markup and themes that, due to a design's particularities or a time crunch, end up hacky and impossible to extend. We'll also dwell briefly on important ideas like accessibility and semantics, all while creating Drupal-ready designs and themes that perform perfectly across the board!
Here's a brief summary of what we'll tackle:
Some design principles, including Drupal's
Drupal-aware: Design with Drupal, not for Drupal
One design, many layout possibilities
Thinking about Drupal's structure and markup
How to write an awesome theme
Drupal code standards and conventions
Contributing good themes
To Drupal and beyond: Code that lasts
This session is geared toward designers with some HTML/CSS background and theming beginners. We will also work with a little painless PHP.
Speaker(s): Preston So
Experience Level: Beginner
WordCamp Pune 2017- WordPress Coding standardsSwapnil Patil
Coding standards are a set of guidelines that recommend programming style, practices, and methods for aspects of a program. They cover file organization, indentation, comments, declarations, statements, whitespace, naming conventions, programming practices, principles, rules of thumb, architectural best practices and more. A coding standards document tells developers how to write code in a consistent style so that a large project is coded the same way by different programmers, making the code easier to understand and maintain. Consistent coding standards ensure any developer looking at the code will know what to expect throughout the application.
Every project has a development standard.
Sometimes the standard is “if it was hard to write, it should be hard to maintain.”
Developing, and following, a corporate Best Practices standard will lead to continuity, maintainability, robustness, and pride.
Many of us have heard about Docs As Code. Applying the same tooling and delivery CI/CD (Continuous Integration and Continuous Delivery) pipelines as developers to improve the quality of (API) documentation sounds nifty. We’ll take a look at the philosophy, best practices and how to get started.
This document discusses WordPress coding standards for writing plugins. It recommends following WordPress coding standards to improve code readability, avoid errors, and ensure consistency. The standards cover HTML, CSS, JavaScript, PHP, naming conventions including prefixing everything, documentation using DocBlocks, and organizing plugin files into folders for admin, includes, languages and public functionality. Following these standards makes the code easier to understand, modify and automatically generate documentation.
This document discusses code standards and best practices for writing maintainable code. It emphasizes the importance of code organization, documentation, naming conventions, indentation, brace styles, commenting, consistency, and readability. Specific guidelines are provided for naming conventions, indentation, brace styles, and commenting. The document stresses choosing and adhering to coding standards to promote uniformity and minimize issues when collaborating on projects.
Coding conventions are guidelines for programming style and best practices. They cover areas like file organization, indentation, comments, naming conventions, and architectural patterns. Following conventions improves code readability, maintainability, and quality. The Apache CloudStack conventions document provides examples for naming variables and methods, formatting files and whitespace, structuring statements, writing comments, and naming patterns like DTOs, VOsand utility classes. Consistent conventions are important for code maintenance and understanding.
A presentation I have done many times in APAC about how to find a co-founder and some of my opinions on decisions a technical co-founder must make.
This is my opinion, not that of any employer or organisation.
This document discusses proper ways to customize Joomla without directly modifying core code. It recommends using language overrides to change text, template overrides to modify component views, and module chrome to style modules. These methods allow changes while avoiding security issues from hacking core files. The document provides examples of customizing language strings, overriding component layouts through templates, and styling modules with additional PHP code.
I made a quick 45 mins presenetation on a local melbourne php meetup talking about Code Quality / Coding standards. The presenation talks about PHP CodeSniffer / CS Fixer and then focuses on PHPMD. Last few sliders talk about how all can be merge together with git webhooks using pre-commit.
This presentation demonstrates general guidelines how to create good test cases using Robot Framework. Both good practices and anti-patterns are presented.
The presentation is hosted on GitHub where you can find the original in ODP format: https://github.com/robotframework/DosDontsSlides
Scripting experts from Inductive Automation cover general best practices that will help you add flexibility and customization to HMI, SCADA, IIoT, and other industrial applications. Some specific tips about using scripting in the Ignition platform will be included as well.
In this webinar, learn more about:
• Common scripting pitfalls and how to avoid them
• The best programming languages to use
• Things to consider before using scripting
• How scripting environments work
• Scripting timesavers
• And more
Scripting experts from Inductive Automation cover general best practices that will help you add flexibility and customization to HMI, SCADA, IIoT, and other industrial applications. Some specific tips about using scripting in the Ignition platform will be included as well.
In this webinar, learn more about:
• Common scripting pitfalls and how to avoid them
• The best programming languages to use
• Things to consider before using scripting
• How scripting environments work
• Scripting timesavers
• And more
The View - Lotusscript coding best practicesBill Buchan
This document discusses best practices for LotusScript coding. It covers topics like code structure, using short logical functions, defensive programming, variable naming conventions, and ensuring variables only exist as long as needed. The goal is to write code that is maintainable, reusable, and robust. Testing practices like test-driven development and separating development, testing, and production environments are also recommended to improve quality.
The document discusses the characteristics of a successful single page application (SPA). It recommends choosing frameworks and libraries that have good documentation, large communities, and support needed functionality. It also emphasizes building robust, stable APIs and keeping performance in mind from the start. The document suggests optimizing JavaScript and backend code, knowing the runtime environment, and using developer tools to minimize resource-intensive reflows and repaints. Overall, it presents SPAs as a good option for mobile apps if frameworks, libraries, APIs, and performance are chosen and developed carefully.
Tools and practices to help you deal with legacy codeDennis Doomen
We all love to build greenfield projects, but the reality is that in most jobs you have to deal with a lot of legacy code. This doesn't mean the code is bad. It just means that choices were made that were the right ones at that time, or that the developers were not entire up-to-date with modern development practices. And that's exactly what this talk is about. I enjoy taking such a codebase and gradually introduce architectural seems, add a proper build pipeline, introduce temporary tests and then gradually refactor the codebase to combine more maintainable, testable and reliable. So in this talk, I'd like to unfold my extensive toolbox of practices, principles, tools and mindset to help you improve your legacy code without jeopardizing your business.
Understand production environment
See which vinaries are running in production and what config files are used
Verify the code and the production release are in sync, e.g. DotPeek
Analyze logs to understand what features are used
Try to get it to run on a local environment
Understand code
Generate project diagrams and class hierarchies
Find origin calls and destination of a parameter using Rider
Use navigation options to find inheritors, usages, etc.
Use the namespaces and project names to understand the relation
Have Rider's AI Assistant or ChatGPT explain the code
Track all documentation in a single place
Build C4 diagrams
Find dead code
Reduce the scope of types and members to internal to find more dead code
Detect code inefficiencies and dead code using Rider
Remove commented out code
Build a safety net
If therea are tests, add code coverage reporting using Coverlet and use that to find dark spots
(HTTP API) Characteristics tests using FluentAssertions, Bogus, xUnit. Use AI to generate them. It's fine, you'll delete them later on
Use test containers for .net t lo include the databse
Build a couple of end to end UI tests e.g. using Cypress, Playwright, efc
Improve deployability
Add scripts or builds steps to run the code locally, Nuke build pipeline to get consistency
Adopt a version strategy and name branches accordingly
Adopt automatic versioning using GitVersion
Adopt logging and exception strategy, e.g. Serilog
Pulumi to automate PR deployments
Improve code
Treat all warnings as errors and fix thhem
Editorconfig / eslint so auto-format works
Configure a personal Rider/R# clean-up profile to auto-format file, project and solution
Roslyn analyzers
Microsoft.CodeAnalysis.BannedApiAnalyzers
StyleCop.Analyzers
CSharpGuidelinesAnalyzer
Roslynator.Analyzers
Meziantou.Analyzer
Enable nullable types per file
Move new code to .NET 6+ or cross-compile
Switch to newer C# versions, possibly using Polysharp
File-scope namespaces
Target-typed news
switch expression
String interpolation instead of string.format
Use Directory.Build.Props to reduce duplication
Improve naming whenever you can
Encapsulate prim itive types and collections in d
The document discusses how to design an automation testing framework that is reusable, scalable, maintainable, understandable, and workable. It recommends using a page object model and data-driven approach where test data is pulled from external sources like Excel. The framework should be modular and separate from test code. Common types of frameworks include data-driven, keyword-driven, and hybrid frameworks. Behavior-driven development is also discussed as an approach.
Similar to Drupal coding standards and best practices (20)
Scaling Drupal for High Traffic Websitesvaluebound
In the digital age, where website performance can make or break a business, scaling your Drupal site to handle high traffic is more crucial than ever. This guide explores essential strategies, best practices, and technologies for optimizing Drupal platforms for scalability. Whether you're an IT professional, website administrator, or decision-maker, these insights will prepare your business to face both present and future scalability challenges efficiently.
Check out our white paper for more: https://www.valuebound.com/whitepaper/scaling-drupal-high-traffic-websites-strategies-best-practices-technologies
Drupal 7 to Drupal 10 Migration A Fintech Strategic Blueprint (1).pdfvaluebound
Elevate your fintech platform with our comprehensive presentation focused on regulatory compliance, security, performance optimization, user experience, and innovation integration. Explore strategies for seamless module adaptation, risk management in migration, and future-proofing your business.
🔗https://www.valuebound.com/resources/blog/drupal-7-drupal-10-migration-fintech-strategic-blueprint
How to Use DDEV to Streamline Your Drupal Development Process.valuebound
DDEV is an open-source tool designed to simplify the management of local development environments for Drupal. By leveraging Docker containers, DDEV creates isolated environments that are consistent across various operating systems, enabling seamless collaboration among developers and ensuring compatibility across platforms.
With its user-friendly interface and robust feature set, DDEV offers numerous benefits for Drupal development:
Easy Setup: Setting up a local development environment for Drupal becomes a breeze with DDEV. Just a few simple commands and you're ready to go.
Consistent Environments: DDEV's Docker-based approach ensures consistent environments across different operating systems. Say goodbye to compatibility issues and easily share your development environment with other team members.
Powerful Features: DDEV empowers developers with a range of powerful features to manage their local development environment effectively. With a single command, you can create, start, stop, and destroy your environment. DDEV also helps manage dependencies, databases, and other essential resources.
To get started with DDEV for a new Drupal project, follow these steps:
Install DDEV.
Create a new project directory.
Use the ddev config command to generate a configuration file.
Specify project details like the name, web server type, and PHP version in the configuration file.
Start the DDEV environment with the ddev start command.
Install Drupal using the provided code snippet and finalize the setup.
For migrating an existing Drupal project into DDEV, follow these instructions:
Copy your Drupal project into a new directory that will serve as the root for your DDEV project.
Run the ddev config command.
Export the database from your existing Drupal site.
Import the database into your DDEV environment.
Start your DDEV environment and access your Drupal site.
Read more: https://www.valuebound.com/resources/blog/how-use-ddev-streamline-your-drupal-development-process
#drupal #DDEV #drupal services
How to Use AWS to Automate Your IT Operation| Valuebound valuebound
In today's rapidly evolving IT landscape, automation has become a critical component of efficient and successful operations. Discover how Amazon Web Services (AWS) can revolutionize your IT operations with a comprehensive suite of services designed to automate and streamline your processes. Join us as we explore the power of AWS Systems Manager, AWS Lambda, AWS Step Functions, and AWS CloudWatch in automating key tasks such as patch management, configuration management, event processing, and more.
This presentation features two insightful sessions by industry experts. Raj Kumar will delve into "Designing Highly Available Architectures with DynamoDB," showcasing best practices to ensure resilience and availability in your infrastructure. Additionally, Akanksha Mishra will tackle the topic of "Cloud-Native vs. Cloud-Agnostic: Which Approach is Right for Your Business?" helping you make informed decisions regarding your cloud strategy.
Gain valuable insights, practical tips, and expert guidance to maximize the potential of AWS automation in your organization. Whether you are new to automation or looking to enhance your existing processes, this presentation provides valuable knowledge and actionable steps. Explore real-world use cases, understand the benefits of IT automation, and learn how Valuebound, a leading cloud consulting firm, can assist you in leveraging AWS to achieve greater efficiency and success.
Save time, optimize resources, and improve your IT security and compliance with the power of AWS automation. Don't miss this opportunity to embark on a journey towards streamlined IT operations. Contact Valuebound today to learn more about automating your IT processes with AWS.
READ MORE: https://www.valuebound.com/resources/blog/how-use-aws-automate-your-it-operations
#aws #drupal #drupalindia
How to Use Firebase to Send Push Notifications to React Native and Node.js Appsvaluebound
Learn how to implement Firebase Cloud Messaging (FCM) for sending push notifications to Android, iOS, and web apps. This comprehensive guide explores the power of FCM and provides step-by-step instructions on setting up Firebase, integrating FCM into React Native and Node.js projects, and handling incoming messages. Discover how FCM can help you engage your users, deliver relevant information, and enhance the user experience. Contact Valuebound for expert guidance on leveraging FCM to transform your business with cutting-edge technology.
https://www.valuebound.com/resources/blog/how-use-firebase-send-push-notifications-react-native-and-nodejs-apps
#drupal #drupalservices
Drupal theming is an essential part of creating a successful website. It helps to create a unique and appealing visual identity for your website and improves the user experience. Bootstrap, on the other hand, is a popular front-end framework that offers a set of tools and components to create responsive and mobile-friendly designs quickly and easily. By combining Drupal theming and Bootstrap, you can create a powerful and effective website that is visually stunning, responsive, and user-friendly.
In this tutorial series, we'll be focusing on Drupal 8/9/10, the latest version of Drupal, and show you how to create a custom Bootstrap based theme from scratch. We'll start by introducing you to the basics of Drupal theming, including how to create a sub-theme, add CSS and JS files, and configure settings. Then, we'll move on to Bootstrap and explain how to incorporate it into your theme, use its classes and components, and customize its styles.
Cloud engineering is revolutionizing the application development and delivery landscape, transforming the way businesses build, deploy, and scale their applications. This dynamic shift is driven by the growing adoption of cloud computing, with the cloud infrastructure services market reaching a remarkable $130 billion in revenue in 2021 alone, according to the Synergy Research Group. As businesses worldwide embrace cloud engineering practices, the demand for skilled cloud engineers is skyrocketing, fueling innovation and driving market growth.
Join Akanksha Mishra in this insightful presentation as she explores the fundamental benefits of cloud engineering and its profound impact on application development and delivery. Discover how cloud engineering empowers businesses to scale and optimize applications effortlessly, streamline development workflows, and achieve enhanced performance, reliability, and return on investment (ROI). Gain valuable insights into market trends, including the market shares of major cloud providers such as Microsoft, Amazon, and Google.
Addressing the pain points of traditional application development methods, Akanksha highlights the limitations of slow time-to-market, limited scalability, high costs, security risks, and lack of flexibility. She then unveils how cloud engineering mitigates these challenges by leveraging the power of cloud computing technologies. Embrace cloud-native architectures, leverage cloud-based development tools and platforms, emphasize DevOps and automation, and prioritize security and compliance to accelerate your application development journey.
Discover the immense advantages of cloud engineering as Akanksha references industry research and expert insights. Gartner predicts that cloud computing will become the default option for software deployment by 2025, offering agility, cost reduction, and scalability. Forbes highlights faster innovation, efficient resource allocation, and heightened customer satisfaction as key benefits. The Wall Street Journal emphasizes greater speed, flexibility, and agility in application development and delivery processes.
Unleash the full potential of cloud engineering as Akanksha presents a 4-step roadmap for organizations to adopt transformative practices. Embrace cloud-native architectures to exploit cloud computing's benefits fully. Leverage cloud-based development tools and platforms to streamline workflows and expedite time-to-market. Emphasize DevOps and automation to drive collaboration and efficiency. Prioritize security and compliance to safeguard your applications and data.
The impact of cloud engineering on ROI cannot be understated. Studies show that cloud applications deliver higher ROI and lower total cost of ownership (TCO) compared to on-premise applications. Forrester Consulting reports that cloud engineering practices can achieve an ROI of 208% over three years and reduce application development costs by 20-30%.
This Slideshare presentation explores the future of cloud engineering, and the emerging trends and technologies to watch out for managing cloud operations in a rapidly changing environment. As the global cloud computing market size is expected to grow from $371.4 billion in 2020 to $832.1 billion by 2025, at a Compound Annual Growth Rate (CAGR) of 17.5% during the forecast period, it is essential for businesses to adapt to stay ahead of the curve.
From the rise of serverless computing to the increasing importance of cybersecurity, the cloud engineering landscape is rapidly evolving. The presentation provides valuable insights into the challenges and opportunities that lie ahead for cloud engineers.
The presentation highlights the importance of understanding the emerging trends and technologies in cloud engineering to stay ahead of the competition, ensure cost-effective cloud operations, mitigate risks and ensure compliance, and drive innovation and business growth.
The emerging trends and technologies covered in the presentation include Serverless Computing, Multi-Cloud Strategies, Edge Computing, Cloud-Native Technologies, and Artificial Intelligence and Machine Learning. The presentation also provides successful use cases of these technologies and how businesses can leverage them to optimize their cloud operations and drive innovation.
Learn more: https://www.valuebound.com/resources/blog/future-cloud-engineering-emerging-trends-and-technologies-watch-2023-beyond
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...valuebound
This Slideshare presentation explores the future of cloud engineering, and the emerging trends and technologies to watch out for managing cloud operations in a rapidly changing environment. As the global cloud computing market size is expected to grow from $371.4 billion in 2020 to $832.1 billion by 2025, at a Compound Annual Growth Rate (CAGR) of 17.5% during the forecast period, it is essential for businesses to adapt to stay ahead of the curve.
From the rise of serverless computing to the increasing importance of cybersecurity, the cloud engineering landscape is rapidly evolving. The presentation provides valuable insights into the challenges and opportunities that lie ahead for cloud engineers.
The presentation highlights the importance of understanding the emerging trends and technologies in cloud engineering to stay ahead of the competition, ensure cost-effective cloud operations, mitigate risks and ensure compliance, and drive innovation and business growth.
The emerging trends and technologies covered in the presentation include Serverless Computing, Multi-Cloud Strategies, Edge Computing, Cloud-Native Technologies, and Artificial Intelligence and Machine Learning. The presentation also provides successful use cases of these technologies and how businesses can leverage them to optimize their cloud operations and drive innovation.
Learn more: https://www.valuebound.com/resources/blog/future-cloud-engineering-emerging-trends-and-technologies-watch-2023-beyond
ChatGPT is a cutting-edge AI chatbot developed by OpenAI using their GPT-3 models. It was trained on vast amounts of internet data like Reddit to understand human conversation. While powerful for language tasks, it has limitations as it can provide incorrect answers depending on the input quality. ChatGPT serves different purposes than Google Search and cannot replace it, but can be used for tasks like content creation, translation, summarization, question answering, and more.
"Content Creation Solution for a Global Life Sciences Firm" is a case study that showcases how Valuebound, a product engineering company, helped a leading global commercial services provider in the life sciences industry to increase team productivity, enhance the content authoring experience, and save valuable time. The client needed a content creation platform for co-authoring intelligent interactive reports with easy-to-use visualization tools, and content governance was a significant requirement to ensure quality and high standards of reports at every stage of the content lifecycle. Valuebound provided a collaborative content creation platform that made the co-authoring process simpler, more reliable, and seamless for organizations. The platform enabled the client to slash their insights and report content creation costs by 66%, reduce customer approval time for reports by 50%, increase collaboration in authoring across Research and Content team, help insights creation and publication team save at least 45 minutes per user a day, and increase ROI for the content creation process by over 30%. The case study outlines the challenges faced by the client, the solution provided by Valuebound, and the benefits realized by the client.
Road ahead for Drupal 8 contributed projectsvaluebound
Drupal 8 EOL leaves contributed projects in a state where they’re prone to security threats. Therefore they must upgrade to the latest versions. All contributed projects which are only compatible with Drupal 8 core (with 8.y.x version numbers) remain unsupported since November 17, 2021.
Presentation on chatbot created using RASA NLU and RASA CORE with slack as its communication platform. This is Artificial Intelligence usage in Drupal. We have covered this topic in an online event "Drupal and Artificial Intelligence for Personalization" on May 18th
Drupal and Artificial Intelligence for Personalization valuebound
The document discusses artificial intelligence (AI) and its applications for content management systems like Drupal. It begins with an agenda that includes the history of AI, definitions of key terms like AI, machine learning and deep learning. It then discusses how neural networks work at a basic level and how content management systems and Drupal in particular can utilize AI. Specific use cases for Drupal include multilingual support, chatbots, personalization, and deriving insights from content. The presentation concludes that AI can provide better user experiences, targeting, and value when combined with content management systems.
Brave is fast, secure and a cryptocurrency has driven (for marketing and fixing the ad model of the web) browser. Just go through the slides to know more about the new search engine.
In this presentation, Anupam Poria of Valuebound has talked about “Event loop in the browser.”
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
In this presentation, Raghavendra BM of Valuebound has discussed the basics of MongoDB - an open-source document database and leading NoSQL database.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
In this presentation, Prashant Sharma of Valuebound has talked about ReactJS - a JavaScript library for building user interfaces. Check out the agendas to know what is there for you.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
In this presentation, Juhi Rathi of Valuebound has discussed “Dependency Module in Drupal 8.” It is a technique that introduces the service container, which ensures that all the dependencies will be available with the client.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
2. ✓ What are Drupal Coding Standards
✓ Why they Exists
✓ How to follow them.
Drupal Coding Standards
Drupal coding standard and best practices
3. Drupal Coding Standards
The Quality of your code is not just in its
execution but also in its appearance
Drupal coding standard and best practices
4. What is Coding Standard
A set of guidelines regarding naming
conventions and document formatting to
follow that dictate the writing style used
when working with a specific programming
language
Drupal coding standard and best practices
5. Why Coding Standards
“The point of a coding style standard is not to
say one style is objectively better than another
in the sense of the specific details….instead
the point is to set up known expectations on
how code should look!!”
- Paul M Jones
Drupal coding standard and best practices
6. Why Coding Standards
✓ Readability
✓ Maintainable Code
✓ Spot errors more easily
✓ Everyone on the same page
✓ Encourages collective ownerships
Drupal coding standard and best practices
7. Aren’t these just little details that don't
really matter
✓ they’re vs. their
✓ it’s vs. its
Drupal coding standard and best practices
8. Who Decides Coding Standards
✓ Well! We do, the coding standards are decided
by the drupal community
Drupal coding standard and best practices
9. How are they decided
✓ Drupal Standards are based on the PEAR
Coding standards
✓ They are decided in an issue queue of
https://www.drupal.org/project/coding_standar
ds
Drupal coding standard and best practices
10. How do we implement coding
standards
Drupal coding standard and best practices
11. Read the coding standards and keep
them handy
✓ They can change
✓ https://www.drupal.org/project/coding_standar
ds
Drupal coding standard and best practices
12. Review your own code with
coder/PHPCodeSniffer
Drupal coding standard and best practices
13. Team Code Reviews!!
✓ Make the time!
✓ The most successful teams build in time to
review one another’s code
✓ There is no substitute for code reviews by
another person
Drupal coding standard and best practices
15. General
Drupal coding standard and best practices
✓ Always use <?php
?> not <? ?>
✓ Exclude trailing ?>
✓ Unix new line
character
✓ 80 character per
line
18. Control Statements
Drupal coding standard and best practices
✓ Space between
keyword and
parenthesis
✓ Always use curly
braces even when
optional
✓ elseif
✓ opening curly brace
on same line as
condition
✓ Closing curly brace
on line by itself
19. Calling function
Drupal coding standard and best practices
✓ No space between
function name and
parentheses
✓ Arguments separated
by comma
✓ No Extra space inside
paranthesis
20. Declaring function
Drupal coding standard and best practices
✓ No space between
function name and
parentheses
✓ Arguments separated
by comma
✓ Arguments with
default values at the
end of the list
21. Arrays
✓ Array declaration that's longer than 80
characters should be split into multi-line arrays
✓ New short array syntax standards
[“kittens”, “puppies”, “bunnies”] - Correct
✓ Old array
array(“kittens”, “puppies”, “bunnies”) -
Wrong
Drupal coding standard and best practices
23. But I know what my code does!!!
Drupal coding standard and best practices
24. But my code is so good it's
self-documenting!!!!!
Drupal coding standard and best practices
25. DOC Blocks
✓ Specially formatted blocks of information that
goes on both top of the file and before each
function
✓ File Doc Blocks
✓ Function Doc Blocks
Drupal coding standard and best practices
26. API Module
✓ Why are these docblocks so important
✓ Why do they have to be formatted so exactly
✓ The API module parses the information in doc
blocks to human readable documentations
Drupal coding standard and best practices
27. Inline Comments
✓ // For inline comments
✓ Should be 80 characters long
✓ Must end in a fullstop
Drupal coding standard and best practices
28. Helpers
✓ Coder Module
✓ PHPCS + Coder Sniffer
✓ IDE/Editor Integration
Drupal coding standard and best practices
29. Dev Tips
✓ Understand the requirements clearly
✓ Do not hesitate to ask questions
✓ Consider others when you anything
Drupal coding standard and best practices
30. Dev Tips
✓ Read Code
✓ Use Issue ID along with GIT commit message
✓ Pay attention to machine names
Drupal coding standard and best practices
31. You are the painter, and code is your medium
Drupal coding standard and best practices