launchdarkly.com
Open in
urlscan Pro
199.232.194.22
Public Scan
Submitted URL: https://em.launchdarkly.com/dc/3xbM4tQLBeNyhupI5OyGys_6BA3nuo-RTkntzDwVTUnWBKSmprZpBlPYhvq7QM3qfPHSEwNX6FWqnoZGVltgkRpQHz_3p...
Effective URL: https://launchdarkly.com/blog/best-practices-for-coding-with-feature-flags/?utm_source=marketo&utm_medium=email&utm_campa...
Submission: On April 29 via api from US — Scanned from DE
Effective URL: https://launchdarkly.com/blog/best-practices-for-coding-with-feature-flags/?utm_source=marketo&utm_medium=email&utm_campa...
Submission: On April 29 via api from US — Scanned from DE
Form analysis
2 forms found in the DOM<form id="mktoForm_2272" __bizdiag="196383517" __biza="W___" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 181px;"
data-nb-form="b4373d6d-aced-4bcc-b9f7-08348644abf4">
<style type="text/css">
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
color: #fff;
border: 1px solid #75ae4c;
padding: 0.4em 1em;
font-size: 1em;
background-color: #99c47c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
outline: none;
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
background-color: #75ae4c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
}
</style>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol">
<div class="mktoOffset"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth"></div><input id="Email" name="Email" placeholder="Work Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired"
aria-required="true" data-nb-id="b4373d6d-aced-4bcc-b9f7-08348644abf4"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="LeadSource" class="mktoField mktoFieldDescriptor mktoFormCol" value="Website">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="ltutmcampaign" class="mktoField mktoFieldDescriptor mktoFormCol" value="fufn">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="ltutmcontent" class="mktoField mktoFieldDescriptor mktoFormCol" value="null">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="ltutmmedium" class="mktoField mktoFieldDescriptor mktoFormCol" value="email">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="ltutmsource" class="mktoField mktoFieldDescriptor mktoFormCol" value="marketo">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="ltutmterm" class="mktoField mktoFieldDescriptor mktoFormCol" value="text">
<div class="mktoClear"></div>
</div>
<div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple"><button type="submit" class="mktoButton">Yes, send me emails</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="2272"><input
type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="850-KKH-319">
</form>
<form __bizdiag="196383517" __biza="W___" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft"
style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>
Text Content
For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser. LaunchDarkly Feature Management Feature Management What is feature management?Why LaunchDarkly?Build vs. buyGuide to feature management Platform Core Features Platform overviewFeature flagsFeature WorkflowsPlatform architecture Data ExperimentationAnalyticsData Export Connectivity SDKsAPIsIntegrationsCode References Solutions Team DevelopersDevOps & SREMobile Use Cases All use casesApp modernizationChange and release managementDigital transformationFederal governmentFinancial services Resources Explore DocsGuide & tutorialsWebinarsBlogResource center Success Stories Case studiesCustomers Enterprise Pricing Sign InGet a Demo LaunchDarkly BlogBlog Best PracticesIndustry InsightsProduct UpdatesTeam & NewsPodcastsMore Get Demo BEST PRACTICES BEST PRACTICES FOR CODING WITH FEATURE FLAGS By Yoz Grahame • October 28, 2020 1 min read Twitter Facebook LinkedIn Copy Link Code is a fragile, temperamental material. Engineers don’t just need a program to function correctly; it should also be easy to read and easy to change. These requirements often conflict with each other, and those conflicts cause much of the difficulty inherent in software engineering. LaunchDarkly’s core message is that feature flags significantly reduce the risk and pain of working with code. But that reduction doesn’t happen automatically. If used incorrectly, flags may add complexity and fragility to your codebase. To help developers use flags more effectively, we’ve written a short best practice guide: Improving flag usage in code. It features tips for: * designing component interfaces for flag-evaluating code * easier flag removal with fewer merge conflicts * defending against consistency problems The Guides section of our Documentation site is a growing collection of best practices from our Developer Advocates. It includes recommendations for creating flags, deployment and release strategies, and reducing technical debt. There are also tutorials that will walk you through different uses of LaunchDarkly, such as targeting and experimentation. We’re constantly updating and expanding our Guides. If you’re looking for the best way to use LaunchDarkly in your app, check them out. By Yoz Grahame Twitter Facebook LinkedIn Copy Link You May Like BEST PRACTICESWhat Is Continuous Testing? A Straightforward Introduction BEST PRACTICESTesting in Production to Stay Safe and Sensible APRIL 28, 2022 • BEST PRACTICESTips & Tricks: How to Automate Percentage Rollouts in LaunchDarkly APRIL 21, 2022 • BEST PRACTICESWrapping LaunchDarkly APRIL 21, 2022 • GALAXYRoll Up for the Galaxy Tour APRIL 19, 2022 • PRODUCT UPDATESBig Segments: Simple Targeting at Scale INBOXES LOVE LAUNCHDARKLY. Make sure you get all the content, tips, and news you can use. * Yes, send me emails WE EMPOWER ALL TEAMS TO DELIVER AND CONTROL THEIR SOFTWARE. Support * Support Home * Request Support * Documentation * Status Why Us * ROI of feature management * Trust & security * Implementation * LaunchDarkly vs. competitors * LaunchDarkly on AWS * Economic impact of LaunchDarkly Learn * Case studies * Webinars * Events * Blog * Podcast * Trajectory * Galaxy Company * About us * Careers * Press & media * Partner program * Terms & policies * Contact us * Foundation ©2022 Catamorphic Co. Twitter LinkedIn Meetup YouTube LaunchDarkly BlogClose Best PracticesIndustry InsightsProduct UpdatesTeam & NewsPodcasts