UNPKG

@tidepool/viz

Version:

Tidepool data visualization for diabetes device data.

672 lines (275 loc) โ€ข 19 kB
<!DOCTYPE HTML> <html lang="" > <head> <meta charset="UTF-8"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <title>code style ยท GitBook</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="description" content=""> <meta name="generator" content="GitBook 3.2.2"> <link rel="stylesheet" href="../gitbook/style.css"> <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css"> <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css"> <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css"> <meta name="HandheldFriendly" content="true"/> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png"> <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon"> <link rel="next" href="views/" /> <link rel="prev" href="DirectoryStructure.html" /> </head> <body> <div class="book"> <div class="book-summary"> <div id="book-search-input" role="search"> <input type="text" placeholder="Type to search" /> </div> <nav role="navigation"> <ul class="summary"> <li class="chapter " data-level="1.1" data-path="../"> <a href="../"> Introduction </a> </li> <li class="chapter " data-level="1.2" data-path="StartHere.html"> <a href="StartHere.html"> @tidepool/viz developer guide </a> <ul class="articles"> <li class="chapter " data-level="1.2.1" data-path="Background.html"> <a href="Background.html"> background </a> </li> <li class="chapter " data-level="1.2.2" data-path="FeatureOverview.html"> <a href="FeatureOverview.html"> overview of features </a> </li> <li class="chapter " data-level="1.2.3" data-path="Architecture.html"> <a href="Architecture.html"> planned architecture </a> </li> <li class="chapter " data-level="1.2.4" data-path="DirectoryStructure.html"> <a href="DirectoryStructure.html"> app & directory structure </a> </li> <li class="chapter active" data-level="1.2.5" data-path="CodeStyle.html"> <a href="CodeStyle.html"> code style </a> </li> </ul> </li> <li class="chapter " data-level="1.3" data-path="views/"> <a href="views/"> per-view documentation </a> <ul class="articles"> <li class="chapter " data-level="1.3.1" data-path="../src/components/settings/"> <a href="../src/components/settings/"> Device Settings view </a> </li> <li class="chapter " data-level="1.3.2" data-path="views/Trends.html"> <a href="views/Trends.html"> Trends view </a> </li> </ul> </li> <li class="chapter " data-level="1.4" data-path="Storybook.html"> <a href="Storybook.html"> use of React Storybook </a> </li> <li class="chapter " data-level="1.5" data-path="deps/"> <a href="deps/"> usage of dependencies </a> <ul class="articles"> <li class="chapter " data-level="1.5.1" data-path="deps/D3.html"> <a href="deps/D3.html"> D3 </a> </li> <li class="chapter " data-level="1.5.2" data-path="deps/GSAP.html"> <a href="deps/GSAP.html"> GSAP </a> </li> <li class="chapter " data-level="1.5.3" data-path="deps/Moment.html"> <a href="deps/Moment.html"> Moment </a> </li> <li class="chapter " data-level="1.5.4" data-path="deps/React.html"> <a href="deps/React.html"> React </a> </li> <li class="chapter " data-level="1.5.5" data-path="deps/ReactMotion.html"> <a href="deps/ReactMotion.html"> React Motion </a> </li> <li class="chapter " data-level="1.5.6" data-path="deps/Redux.html"> <a href="deps/Redux.html"> Redux </a> </li> <li class="chapter " data-level="1.5.7" data-path="deps/Webpack.html"> <a href="deps/Webpack.html"> webpack </a> </li> </ul> </li> <li class="chapter " data-level="1.6" data-path="../src/utils/"> <a href="../src/utils/"> utilities </a> <ul class="articles"> <li class="chapter " data-level="1.6.1" data-path="../src/utils/apidocs/"> <a href="../src/utils/apidocs/"> API docs for utilities </a> <ul class="articles"> <li class="chapter " data-level="1.6.1.1" data-path="../src/utils/apidocs/basal.html"> <a href="../src/utils/apidocs/basal.html"> basal </a> </li> <li class="chapter " data-level="1.6.1.2" data-path="../src/utils/apidocs/bloodglucose.html"> <a href="../src/utils/apidocs/bloodglucose.html"> blood glucose </a> </li> <li class="chapter " data-level="1.6.1.3" data-path="../src/utils/apidocs/bolus.html"> <a href="../src/utils/apidocs/bolus.html"> bolus </a> </li> <li class="chapter " data-level="1.6.1.4" data-path="../src/utils/apidocs/datetime.html"> <a href="../src/utils/apidocs/datetime.html"> datetime </a> </li> <li class="chapter " data-level="1.6.1.5" data-path="../src/utils/apidocs/format.html"> <a href="../src/utils/apidocs/format.html"> format </a> </li> <li class="chapter " data-level="1.6.1.6" data-path="../src/utils/apidocs/misc.html"> <a href="../src/utils/apidocs/misc.html"> misc </a> </li> </ul> </li> </ul> </li> <li class="chapter " data-level="1.7" data-path="misc/"> <a href="misc/"> misc </a> <ul class="articles"> <li class="chapter " data-level="1.7.1" data-path="misc/CommonProps.html"> <a href="misc/CommonProps.html"> Common props </a> </li> <li class="chapter " data-level="1.7.2" data-path="misc/Docs.html"> <a href="misc/Docs.html"> Docs setup & publishing </a> </li> <li class="chapter " data-level="1.7.3" data-path="misc/TimeRenderingModes.html"> <a href="misc/TimeRenderingModes.html"> Time-rendering modes </a> </li> </ul> </li> <li class="divider"></li> <li> <a href="https://www.gitbook.com" target="blank" class="gitbook-link"> Published with GitBook </a> </li> </ul> </nav> </div> <div class="book-body"> <div class="body-inner"> <div class="book-header" role="navigation"> <!-- Title --> <h1> <i class="fa fa-circle-o-notch fa-spin"></i> <a href=".." >code style</a> </h1> </div> <div class="page-wrapper" tabindex="-1" role="main"> <div class="page-inner"> <div id="book-search-results"> <div class="search-noresults"> <section class="normal markdown-section"> <h2 id="code-style">Code style</h2> <p>In this repository&#x2014;our newest front-end repository at Tidepool&#x2014;our JavaScript style is <em>much</em> stricter than in our other repositories, largely because we started the work and continue to develop with a <a href="https://www.npmjs.com/package/eslint-config-airbnb" title="npm: eslint-config-airbnb" target="_blank">very strict ESLint configuration, borrowed from AirBnb</a>.</p> <p>It is not worth duplicating a description of the vast number of constraints that this configuration imposes. Our advice is to configure your editor to provide instant linting feedback as you code<sup><a href="#fn_a" id="reffn_a">a</a></sup>, and you will learn the constraints quite quickly &#x1F61C;</p> <p>To summarize in general the constraints that the AirBnb ESLint configuration imposes:</p> <ul> <li>ES2015/ES6 given preference over ES5 (so <code>const</code> and <code>let</code> over <code>var</code>, etc.)</li> <li>lots of general code quality/bug prevention constraints like no unused variables, no mutating arguments to functions, etc.</li> <li>React components that don&apos;t need a (substantive) constructor, any of the lifecycle methods, or component-internal state should be <a href="https://facebook.github.io/react/docs/components-and-props.html#functional-and-class-components" title="React docs: Functional and Class Components" target="_blank">pure functional components</a> instead of classes</li> <li>all React components should type-check the props used via <a href="https://facebook.github.io/react/docs/typechecking-with-proptypes.html" title="React docs: Typechecking with PropTypes" target="_blank">PropTypes</a></li> </ul> <p>We have also added an additional plug-in for enforcing a preference for <a href="https://lodash.com/docs/4.16.6" title="Lodash utility library" target="_blank">lodash</a> utility methods over their native implementations (e.g., lodash <code>_.map</code> instead of JavaScript <code>Array.map</code>).</p> <p>Also see the documentation on <a href="DirectoryStructure.html">directory structure</a> for our conventions around file naming, placement, and in particular our semantic division between &quot;containers&quot; and &quot;components.&quot;</p> <hr> <blockquote id="fn_a"> <sup>a</sup>. And you don&apos;t even have to Google! Here&apos;s where to get started for <a href="http://www.sublimelinter.com/en/latest/" title="SublimeLinter 3" target="_blank">Sublime Text</a> and <a href="https://atom.io/packages/linter" title="Linter" target="_blank">Atom</a>.<a href="#reffn_a" title="Jump back to footnote [a] in the text."> &#x21A9;</a> </blockquote> </section> </div> <div class="search-results"> <div class="has-results"> <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1> <ul class="search-results-list"></ul> </div> <div class="no-results"> <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> </div> </div> </div> </div> </div> </div> <a href="DirectoryStructure.html" class="navigation navigation-prev " aria-label="Previous page: app & directory structure"> <i class="fa fa-angle-left"></i> </a> <a href="views/" class="navigation navigation-next " aria-label="Next page: per-view documentation"> <i class="fa fa-angle-right"></i> </a> </div> <script> var gitbook = gitbook || []; gitbook.push(function() { gitbook.page.hasChanged({"page":{"title":"code style","level":"1.2.5","depth":2,"next":{"title":"per-view documentation","level":"1.3","depth":1,"path":"docs/views/README.md","ref":"docs/views/README.md","articles":[{"title":"Device Settings view","level":"1.3.1","depth":2,"path":"src/components/settings/README.md","ref":"src/components/settings/README.md","articles":[]},{"title":"Trends view","level":"1.3.2","depth":2,"path":"docs/views/Trends.md","ref":"docs/views/Trends.md","articles":[]}]},"previous":{"title":"app & directory structure","level":"1.2.4","depth":2,"path":"docs/DirectoryStructure.md","ref":"docs/DirectoryStructure.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"docs/CodeStyle.md","mtime":"2017-05-23T17:51:07.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-05-31T15:26:30.892Z"},"basePath":"..","book":{"language":""}}); }); </script> </div> <script src="../gitbook/gitbook.js"></script> <script src="../gitbook/theme.js"></script> <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script> <script src="../gitbook/gitbook-plugin-search/search.js"></script> <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script> <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script> <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script> <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script> </body> </html>