{"id":19516,"date":"2020-04-30T23:16:52","date_gmt":"2020-04-30T15:16:52","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=19516"},"modified":"2022-10-16T17:59:51","modified_gmt":"2022-10-16T09:59:51","slug":"developer-habits","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/","title":{"rendered":"10 Programming Habits Developers Should Adopt"},"content":{"rendered":"<p>These outcomes can bring  down our confidence but in fact, they can be solved with proper development practices. Here are <strong>10 worthy habits to invest in to write cleaner and smarter code with less effort<\/strong>. Let\u2019s start developing these habits now!<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-1\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/programming-myth\/\" class=\"ref-block__link\" title=\"Read More: Learning Programming: 10 Misconceptions That Are Not True\" rel=\"bookmark\"><span class=\"screen-reader-text\">Learning Programming: 10 Misconceptions That Are Not True<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/programming-myth.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-18138 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/programming-myth.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">Learning Programming: 10 Misconceptions That Are Not True<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tThere are plenty of misconceptions and myths surrounding the art of programming. Many people view it as a...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<h2>1. Write Human-Friendly Code<\/h2>\n<p>Always remember that you are not just writing code for machines, but for your future self too. So it is important to write readable code. In truth, programming is like writing a good poem. The tone should be consistent, the words descriptive and sentences well structured.<\/p>\n<p>Here are some tips to write friendly code.<\/p>\n<h3>Follow Consistent  naming conventions<\/h3>\n<p>For example, if you name private variables with underscore as the first letter, you should follow through in the rest of your code.<\/p>\n<p>If you are working collaboratively, <strong>discuss naming conventions<\/strong> before anyone touches the code.<\/p>\n<p>However most programming language may now already have their own standard naming conventions either it\u2019s defined by the core language itself or the community (e.g. <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.php-fig.org\/psr\/psr-12\/\">PHP-FIG<\/a>). So, most of the time, you don\u2019t have to create your own naming conventions.<\/p>\n<p>You can instead use a so-called <em>linter<\/em> or <em>code sniffer<\/em> to help enforcing and fixing your code to conform with these standards. Here is a few of popular <em>linters<\/em> in some programming languages:<\/p>\n<ul>\n<li><strong>PHP<\/strong>: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\">PHPCS<\/a><\/li>\n<li><strong>Ruby<\/strong>: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/docs.rubocop.org\/en\/stable\/\">RuboCop<\/a><\/li>\n<li><strong>Shell or Bash<\/strong>: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.shellcheck.net\/\">ShellCheck<\/a><\/li>\n<li><strong>JavaScript<\/strong>: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/eslint.org\/\">ESLint<\/a>, and <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/jshint.com\/\">JSHint<\/a><\/li>\n<li><strong>Swift<\/strong>: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/github.com\/realm\/SwiftLint\">SwiftLint<\/a><\/li>\n<\/ul>\n<h3>Descriptive Variable \/ Method Name<\/h3>\n<p>The variable and method name should perfectly describe <strong>what that code does<\/strong>. For example uncommon abbreviations like <code>Sort_PT()<\/code> may be confusing: what does the PT mean? If you can\u2019t answer it on a second check, optimize the name to <code>Sort_PostType()<\/code> for better comprehension.<\/p>\n<p>There\u2019s an exception though. Most of programmers would already be familiar with the term \u201cID\u201d for identity so we can always define a variable with the short form, \u201cID\u201d.<\/p>\n<h3><strong>Indentation<\/strong> And <strong>Line Break<\/strong>s<\/h3>\n<p>Indentation is magical! With some simple <span class=\"key\">tab<\/span> keys, you can <strong>reveal the entire code structure<\/strong> and edit the code with a clear understanding of how it will function.<\/p>\n<p>For line breaks, use it when <strong>2 codes on the same line execute different things<\/strong>. For instance, it\u2019s best to not chain CSS properties on a single line \u2014 it complicates things.<\/p>\n<h2>2. Think Organization<\/h2>\n<p>On top of cleaner code, code structure and organization also helps with readibility issues. It is important to group your code to enable easy modification (if you need to scroll up and down multiple times to find your affected section, you need to work on the structure)<\/p>\n<p>Also, <strong>don\u2019t throw all the code into a single script<\/strong>. While it may seem convenient to have 8000+ lines of code in a single file, debugging is a nightmare when trying to recall method names. Always think about the <strong>ease of change<\/strong>.<\/p>\n<p>The best practice is to <strong>separate code into different files<\/strong> according to their primary functions, for example manager, interface, animation, extension, etc.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg\" alt=\"think organization\" width=\"500\" height=\"334\"><\/figure>\n<p>Whenever possible, make sure the language only <strong>fulfills a particular purpose<\/strong>. If you are writing animation effect with CSS3, avoid writing jQuery animation effect, unless you have a strong  enough reason. And if you do, <strong>comment in the CSS file about the exception.<\/strong><\/p>\n<h2>3. Planning Before Coding<\/h2>\n<p>It\u2019s crucial to <strong>know exactly what to do<\/strong> before you hit the first key. In the programming world, it is important to plan ahead. Writing a fixed navigation menu is easy, but what if the menu needs to be responsive, while being able to minimize itself when visitors scroll down the page?<\/p>\n<p>Begining to code without a clear procedure in mind will often lead to <strong>retries, burnouts and a depression loop<\/strong>.<\/p>\n<h3>Plan Your Code<\/h3>\n<p>So instead of  problem solving and programming the parallel way, it\u2019s far easier to <strong>figure out the procedure first, <\/strong>then<strong> write a solution<\/strong>. List out general steps first (here is an example):<\/p>\n<ol>\n<li>Use Bootstrap as <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/tag\/rwd\/\" rel=\"noopener noreferrer\">responsive<\/a> framework.<\/li>\n<li>Create navigation menu.<\/li>\n<li>Add <code>.navbar-fixed-top<\/code> to the menu.<\/li>\n<li>Create jQuery script to resize menu when user scrolls down for over 200px.<\/li>\n<li>If the user scrolls to the top, resize the menu once again.<\/li>\n<\/ol>\n<h3>Troubleshoot<\/h3>\n<p>At this point, you should discover other underlying isses, like how we should resize the site logo and menu title according to menu size, or if we need to resize the dropdown menu as well, or if the detection needs to be dynamic instead of fixed. Once you figure these out, it\u2019s a snap to get the menu done.<\/p>\n<h2>4. Write Manageable Code<\/h2>\n<p>Trust me, you don\u2019t want to change hundreds of variables individually, line by line. I did, for 1 straight year. That was a humbling experience, and since then I have learned to write code that <strong>requires as few manual changes as possible<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/manageable-code.jpg\" alt=\"manageable code\" width=\"500\" height=\"314\"><\/figure>\n<p>How to achieve this? Use <strong><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/js\/js_arrays.asp\">Array<\/a><\/strong>. It\u2019s perfect for<strong> storing multiple variables<\/strong>, and you can access those variables with convenience <code>for<\/code> loop or <code>for each<\/code> method.<\/p>\n<p>There are even more  dynamic ways to add, arrange and retrieve data in certain languages, such as <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.dotnetperls.com\/list\">List<\/a> and <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.dotnetperls.com\/linq\">LINQ<\/a> for C#, so be sure to <strong>periodically check out <\/strong>better features, libraries or plugins for smarter data management.<\/p>\n<p>Lastly, to avoid constantly modifying stuff in code, <strong>write highly independent code<\/strong> that will not break the entire system when new features or changes are applied. It\u2019s called <strong><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/social.msdn.microsoft.com\/Forums\/en-US\/c747f40a-7091-4f59-98b1-c637814d275b\/cnet-what-is-the-exact-meaning-of-loose-coupling?forum=netfxbcl\">Loose Coupling<\/a><\/strong>. After optimization, the developer <strong>only needs to tweak code in 1 class instead of 3 classes<\/strong> for new features.<\/p>\n<h2>5. Stop Overdoing Features<\/h2>\n<p>As our skills mature, we tend to develop more complex solutions that cater to a wider range of needs. It\u2019s a good sign of growth but be wary as you might be stepping into another trap \u2013 overdoing a feature that\u2019s entirely unnecessary to the project.<\/p>\n<p>In development, it\u2019s important to regularly <strong>remind yourself  of the project\u2019s main objective<\/strong>, and <strong>only add features that fulfill the purpose<\/strong>. If you know the exact collection size, use Array. If List\u2019s function can retrieve the data the way you want, don\u2019t use advanced LINQ.<\/p>\n<p>Why develop a plugin when you hardly use that feature? <strong>Just because you can, doesn\u2019t mean you should<\/strong>. Don\u2019t waste your time. Rremember  the most time consuming part aka finishing the project, is yet to come! Now, onto debugging!<\/p>\n<h2>6. Learn To Debug Smarter <\/h2>\n<p>Where there is code, there are bugs. It\u2019s impossible to have a bug-free code solution, so <strong>debugging skills are highly sought after<\/strong>. The ancient trial-and-error method may work, but it is slow. Too slow. Plus, why torture yourself when there are already <strong>debuggers<\/strong> developed for you?<\/p>\n<h3>Debugging Tools<\/h3>\n<p>Browsers are now equipped with a very capable of <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.chrome.com\/docs\/devtools\/\">Developer Tools<\/a> or <strong>DevTools<\/strong> for short that comes with <strong>error detection, breakpoint setting, expression tracking, performance checking<\/strong>, all for your debugging convenience.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-2\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/tools-to-coding-online\/\" class=\"ref-block__link\" title=\"Read More: Best Websites to Test Your Codes Online\" rel=\"bookmark\"><span class=\"screen-reader-text\">Best Websites to Test Your Codes Online<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/tools-to-coding-online.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-16365 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/tools-to-coding-online.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">Best Websites to Test Your Codes Online<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tDiscover the top tools for online coding in this comprehensive guide. Boost your skills and productivity with these...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<p>IDEs like <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"http:\/\/www.aptana.com\/\">Aptana Studio 3<\/a> and <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/mac\/xamarin\/\">Xamarin Studio<\/a> are even released with their own powerful built-in debugger, so <strong>investing the time to learn them<\/strong> can make your life much easier.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/devtools.jpg\" alt=\"firebug\" width=\"750\" height=\"480\"><\/figure>\n<p>However, a debugger won\u2019t know your code inside out. When in doubt, <strong>put the log function into the code<\/strong>, like <code>console.log<\/code> for , and make sure it\u2019s good with variable integration (instead of retyping variable names as string or simply <code>'It works!'<\/code>). The web is filled with <strong>more advanced and specific <\/strong><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en\/docs\/Debugging_JavaScript\">debugging methods<\/a> for every language.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-3\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/cheatsheet-infographic-software-developers\/\" class=\"ref-block__link\" title=\"Read More: Cheatsheets & Infographics For Software Developers\" rel=\"bookmark\"><span class=\"screen-reader-text\">Cheatsheets & Infographics For Software Developers<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/cheatsheet-infographic-software-developers.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-18283 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/cheatsheet-infographic-software-developers.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">Cheatsheets & Infographics For Software Developers<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tIf you are just embarking on a journey to learn a programming language or would just like to...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<h2>7. Find A Stronger Editor<\/h2>\n<p>The right editors can <strong>help you grow in knowledge, <\/strong>and<strong> expedite project completion. <\/strong>Regardless of how experienced you are, it\u2019s strongly recommended for you to go for editors with <strong>code completion<\/strong>, such as <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.sublimetext.com\/3\">Sublime Text<\/a>, <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a>, and <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"http:\/\/www.aptana.com\/\">Aptana Studio 3<\/a>.<\/p>\n<p>Not only is the feature very helpful for beginners to <strong>recognize and learn the syntax<\/strong>, but it can be utilized by professionals to check for possibly better codes or solutions. Do take note,  most IDEs only <strong>support code completion for certain languages<\/strong>, so look for the right one.<\/p>\n<h3>Feature Filtering<\/h3>\n<p>For instance, one thing I love about <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.monodevelop.com\/\">MonoDevelop<\/a> is its <strong>code template<\/strong> feature. With a custom shortcut key, you can output a self-defined code template from common <code>switch<\/code> statement to full-fledged manager script. This is great for large scale projects, so try to make this feature a priority during your editor hunt.<\/p>\n<p>Other essential features to look out for:<\/p>\n<ul>\n<li>debugger<\/li>\n<li>regex replace<\/li>\n<li>macro<\/li>\n<li>version control support<\/li>\n<li>database support<\/li>\n<li>split editing<\/li>\n<li>layout customizer<\/li>\n<li>WYSIWYG editor<\/li>\n<\/ul>\n<h2>8. Do Version Control<\/h2>\n<p>There will be times when you <strong>make a huge programming mistake<\/strong> and want to go back to an earlier version of a code. Now what if your mistake involves several files in the codebase, and some of them were modified days, or even months ago?<\/p>\n<p>Revert to the original and update the code bit by bit while solving bugs? This is <strong>counterproductive<\/strong> and why a version control system is greatly essential.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/git.jpg\" alt=\"git\" width=\"500\" height=\"317\"><\/figure>\n<h3>Version Control Systems<\/h3>\n<p>Among several version control softwares, <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/git-scm.com\/\">Git<\/a> is the most popular with a large number of documentations available online. With Git, you can keep as many revisions as you want, branch out the file for some code experiment, track down the part of code you changed last time, and revert back to them whenever you want.<\/p>\n<p>Feels like overkill? Maybe, since it\u2019s <strong>originally developed for team programming<\/strong>, but it\u2019s also perfect for long term personal projects. You may be hesitant  because the Git is in itself so much to learn up on, even with the GUI version. But it\u2019s more of a <strong>sooner or later<\/strong> thing (so better that you make it sooner), plus the web is loaded with plenty of tutorials and <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/guides.github.com\/introduction\/git-handbook\/\">guides<\/a> to help ease the learning process.<\/p>\n<h2>9. No Extra Prototypes, Finish Current Project<\/h2>\n<p>Tedious coding and debugging can drain someone physically and emotionally. And some of us are <strong>inclined to prototype our work even before it is finished<\/strong>. While prototyping is a beneficial behavior in the long run, it doesn\u2019t help when you do it to <strong>escape from work<\/strong>.<\/p>\n<p>A better way to lose some steam is to enjoy something totally unrelated to the work, exercising, gaming, reading (perhaps?) \u2014 You have to <strong><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/freelance-designers-balance-work-life\/\" rel=\"noopener noreferrer\">keep your work life in balance<\/a><\/strong>. Anything but prototypes.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-4\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/things-programmers-say\/\" class=\"ref-block__link\" title=\"Read More: 30 Common Reactions Programmers Have When Things Go Wrong\" rel=\"bookmark\"><span class=\"screen-reader-text\">30 Common Reactions Programmers Have When Things Go Wrong<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/things-programmers-say.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-18335 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/things-programmers-say.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">30 Common Reactions Programmers Have When Things Go Wrong<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tDeveloping applications can be a very stressful job. Nobody is perfect, and running into buggy code is fairly...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<h2>10. Always Learn Something New<\/h2>\n<p>In this field, you can get phased out fairly quickly. Many developmental approaches and programming languages even are <strong>declared obsolete within the past 10 years alone<\/strong>. Even if you graduate from a top university with a degree in the subject <strong>does not ensure<\/strong> that you are still primed for employment.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-5\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/degree-vs-self-learning\/\" class=\"ref-block__link\" title=\"Read More: Self-Education vs. Traditional College: Which Path to Choose?\" rel=\"bookmark\"><span class=\"screen-reader-text\">Self-Education vs. Traditional College: Which Path to Choose?<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/degree-vs-self-learning.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-17390 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/degree-vs-self-learning.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">Self-Education vs. Traditional College: Which Path to Choose?<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tSteve Jobs, Mark Zuckerberg, and Bill Gates are some of the most prominent figures in the tech industry,...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<p>The only way to survive and thrive is to <strong>keep learning<\/strong>.The best way to learn? <strong>Don\u2019t just read, program<\/strong>. Challenge yourself with <strong>practical projects that require higher scalability<\/strong>. This forces you to think more efficiently. Explore, and enjoy the creation process. Practice is not something you can ignore in programming. The more you program, the better a programmer you become.<\/p>","protected":false},"excerpt":{"rendered":"<p>These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to write cleaner and smarter code with less effort. Let\u2019s start developing these habits now! 1. Write Human-Friendly Code Always remember that you are not just writing code for&hellip;<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[352],"tags":[511],"topic":[4520,4521],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>10 Programming Habits Developers Should Adopt - Hongkiat<\/title>\n<meta name=\"description\" content=\"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/developer-habits\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 Programming Habits Developers Should Adopt\" \/>\n<meta property=\"og:description\" content=\"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/developer-habits\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-30T15:16:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-16T09:59:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg\" \/>\n<meta name=\"author\" content=\"Alvaris Falcon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alvaris Falcon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/\"},\"author\":{\"name\":\"Alvaris Falcon\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/110548906de9455e25024dbfbc9156d1\"},\"headline\":\"10 Programming Habits Developers Should Adopt\",\"datePublished\":\"2020-04-30T15:16:52+00:00\",\"dateModified\":\"2022-10-16T09:59:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/\"},\"wordCount\":1805,\"commentCount\":14,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/developer-habits\\\/think-organization.jpg\",\"keywords\":[\"Web Developers\"],\"articleSection\":[\"Web Design\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/\",\"name\":\"10 Programming Habits Developers Should Adopt - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/developer-habits\\\/think-organization.jpg\",\"datePublished\":\"2020-04-30T15:16:52+00:00\",\"dateModified\":\"2022-10-16T09:59:51+00:00\",\"description\":\"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/developer-habits\\\/think-organization.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/developer-habits\\\/think-organization.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/developer-habits\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"10 Programming Habits Developers Should Adopt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/110548906de9455e25024dbfbc9156d1\",\"name\":\"Alvaris Falcon\",\"description\":\"Alvaris is a web designer, developer and staff writer for Hongkiat.com.\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/alvaris\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"10 Programming Habits Developers Should Adopt - Hongkiat","description":"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/","og_locale":"en_US","og_type":"article","og_title":"10 Programming Habits Developers Should Adopt","og_description":"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to","og_url":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2020-04-30T15:16:52+00:00","article_modified_time":"2022-10-16T09:59:51+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg","type":"","width":"","height":""}],"author":"Alvaris Falcon","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Alvaris Falcon","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/"},"author":{"name":"Alvaris Falcon","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/110548906de9455e25024dbfbc9156d1"},"headline":"10 Programming Habits Developers Should Adopt","datePublished":"2020-04-30T15:16:52+00:00","dateModified":"2022-10-16T09:59:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/"},"wordCount":1805,"commentCount":14,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg","keywords":["Web Developers"],"articleSection":["Web Design"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/developer-habits\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/","url":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/","name":"10 Programming Habits Developers Should Adopt - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg","datePublished":"2020-04-30T15:16:52+00:00","dateModified":"2022-10-16T09:59:51+00:00","description":"These outcomes can bring down our confidence but in fact, they can be solved with proper development practices. Here are 10 worthy habits to invest in to","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/developer-habits\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/developer-habits\/think-organization.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/developer-habits\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"10 Programming Habits Developers Should Adopt"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/110548906de9455e25024dbfbc9156d1","name":"Alvaris Falcon","description":"Alvaris is a web designer, developer and staff writer for Hongkiat.com.","url":"https:\/\/www.hongkiat.com\/blog\/author\/alvaris\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-54M","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=19516"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19516\/revisions"}],"predecessor-version":[{"id":62887,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19516\/revisions\/62887"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=19516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=19516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=19516"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=19516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}