<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Steven Gregory</title>
    <description>The latest articles on Forem by Steven Gregory (@steven_gregory).</description>
    <link>https://forem.com/steven_gregory</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F138221%2F5bfff869-8bf9-4bb5-9da5-17fe32bb380e.jpg</url>
      <title>Forem: Steven Gregory</title>
      <link>https://forem.com/steven_gregory</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/steven_gregory"/>
    <language>en</language>
    <item>
      <title>ServiceNow: Style Guide</title>
      <dc:creator>Steven Gregory</dc:creator>
      <pubDate>Tue, 19 Sep 2023 20:44:53 +0000</pubDate>
      <link>https://forem.com/steven_gregory/servicenow-style-guide-4kfa</link>
      <guid>https://forem.com/steven_gregory/servicenow-style-guide-4kfa</guid>
      <description>&lt;h2&gt;
  
  
  A Guide To Quality
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12e6x1gvdrilf1xu7q9k.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12e6x1gvdrilf1xu7q9k.jpeg" alt="Image description" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." - Martin Fowler&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/stevengregory/servicenow-style-guide"&gt;ServiceNow: Style Guide&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Guide
&lt;/h2&gt;

&lt;p&gt;I've been crafting a &lt;strong&gt;Coding Style Guide&lt;/strong&gt; to help ServiceNow developers write clean, efficient, and maintainable code that adheres to best practices. It's a living document (WIP) with plans for regular updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a Style Guide?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Boosts teamwork&lt;/li&gt;
&lt;li&gt;Minimizes errors&lt;/li&gt;
&lt;li&gt;Speeds up delivery&lt;/li&gt;
&lt;li&gt;Enhances code quality&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Contribute
&lt;/h2&gt;

&lt;p&gt;To get involved:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open an Issue&lt;/strong&gt;: Spot a flaw? &lt;a href="https://github.com/stevengregory/servicenow-style-guide/issues"&gt;Open an issue on GitHub&lt;/a&gt;.&lt;br&gt;
&lt;strong&gt;Submit a Pull Request&lt;/strong&gt;: Got a fix? &lt;a href="https://github.com/stevengregory/servicenow-style-guide/pulls"&gt;Send a pull request&lt;/a&gt;.&lt;br&gt;
&lt;strong&gt;Share Your Thoughts&lt;/strong&gt;: Have ideas? Reach out directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;As we continue to evolve and adapt, the style guide will too. In the words of Bruce Lee:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Absorb what is useful, discard what is not, add what is uniquely your own."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We invite you to contribute, adapt, and make this guide a reflection of our collective wisdom. Let's elevate our coding standards together with the &lt;a href="https://github.com/stevengregory/servicenow-style-guide"&gt;ServiceNow: Style Guide&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>servicenow</category>
      <category>bestpractices</category>
      <category>styleguide</category>
    </item>
    <item>
      <title>Service Portal Snippets for VS Code</title>
      <dc:creator>Steven Gregory</dc:creator>
      <pubDate>Tue, 20 Jul 2021 14:01:33 +0000</pubDate>
      <link>https://forem.com/steven_gregory/service-portal-snippets-for-vs-code-2dn0</link>
      <guid>https://forem.com/steven_gregory/service-portal-snippets-for-vs-code-2dn0</guid>
      <description>&lt;p&gt;Interested in speeding up your ServiceNow development workflow in VS Code? Sure, why not you say. Ok, let's move forward. 🚀&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://marketplace.visualstudio.com/items?itemName=stevengregory.service-portal-snippets"&gt;Service Portal Snippets&lt;/a&gt; extension for VS Code adds a handy collection of Service Portal snippets to your ServiceNow development workflow. Code snippets make it easy to streamline your development workflow, accelerate efficiency and implement proven &amp;amp; tested patterns of best practice on the fly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgywoxfmlo2r3rutz7m38.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgywoxfmlo2r3rutz7m38.gif" alt="Alt Text" width="913" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;To install the &lt;a href="https://marketplace.visualstudio.com/items?itemName=stevengregory.service-portal-snippets"&gt;Service Portal Snippets&lt;/a&gt; extension, do so in the usual methods. This may be obvious, but if not see &lt;a href="https://code.visualstudio.com/learn/get-started/extensions"&gt;Install Visual Studio Code extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Or install via the command line (my preference).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;code &lt;span class="nt"&gt;--install-extension&lt;/span&gt; stevengregory.service-portal-snippets
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;To generate a snippet, type part of the snippet and press enter.&lt;/p&gt;

&lt;p&gt;To find a list of snippet commands, checkout out the &lt;a href="https://github.com/stevengregory/vscode-service-portal-snippets#usage"&gt;vscode-service-portal-snippets&lt;/a&gt; repository on GitHub.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ProTip: type the snippet without dashes to activate IntelliSense. 😎&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;On a JavaScript file, to generate a snippet for getting the current user's display name using GlideUser, type &lt;code&gt;sp-user-getDisplayName&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;currentUser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;gs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;getDisplayName&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To create a snippet for getting active records using GlideRecord, type &lt;code&gt;sp-record-addactivequery&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;inc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;GlideRecord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;incident&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;inc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addActiveQuery&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;inc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;query&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;inc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;next&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Enter AngularJS &amp;amp; Service Portal&lt;/em&gt;. To generate a widget client script controller with an &lt;code&gt;$onInit&lt;/code&gt; lifecycle hook, type &lt;code&gt;sp-ng-controller&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;NinjaController&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;$onInit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On an HTML file, to create an &lt;code&gt;ng-repeat&lt;/code&gt; with an &lt;code&gt;orderBy&lt;/code&gt; filter, type &lt;code&gt;sp-ng-repeat-orderby&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;ng-repeat=&lt;/span&gt;&lt;span class="s"&gt;"item in c.items | orderBy: 'order'"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On a UI Script, to create an AngularJS service like a boss, type &lt;code&gt;sp-ng-service&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;use strict&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;serviceName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;service&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;getSomething&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;getSomething&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;service&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getSomething&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nx"&gt;angular&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;module&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;moduleName&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;service&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;serviceName&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;serviceName&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;})();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And there are many more. Cool right?! 👍&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;This is an open source project and still a work in progress, so feel free to open up a pull request and contribute. Also, if you have any suggestions or feedback, please send them my way — thanks!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Teamwork makes the Dreamwork!" - &lt;a href="https://twitter.com/BillRMcDermott"&gt;Bill McDermott&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>servicenow</category>
      <category>serviceportal</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
