{"id":1856,"date":"2013-02-17T16:05:06","date_gmt":"2013-02-17T23:05:06","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=1856"},"modified":"2018-01-09T17:34:20","modified_gmt":"2018-01-09T22:34:20","slug":"principles-are-timeless-best-practices-are-fads","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/","title":{"rendered":"Principles Are Timeless Best Practices Are Fads"},"content":{"rendered":"<p>There is a huge difference between a principle and a best practice.\\n\\n<strong>Best practices are subjective and depend largely on context, while principles are eternal and universal.<\/strong>\\n\\n<a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; padding-top: 0; border: 0;\" title=\"time\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg\" alt=\"time\" width=\"477\" height=\"650\" border=\"0\" \/><\/a>\\n\\nAfter writing <a href=\"https:\/\/simpleprogrammer.com\/2012\/12\/15\/the-more-i-know-the-less-i-know\/\" target=\"_blank\">The More I Know The Less I Know<\/a>, I received a few emails talking about how there are absolute best practices that should always be followed in software development.\\n\\nI had already intended to write about principles, but that confusion made it clear to me that there should be a distinction made between best practices and principles.\u00a0 We don\u2019t want to throw the baby out with the bath water.\\n\\n<\/p>\n<h2><\/h2>\n<p>\\n\\n<\/p>\n<h2><\/h2>\n<p>\\n\\n<\/p>\n<h2>Looking at some examples of best practices<\/h2>\n<p>\\n\\nFirst let\u2019s take a look at some software development best practices, then we\u2019ll contrast them to principles to better get an idea of the difference.\\n\\nOne of the most common best practices today in software development is the idea of unit testing.\u00a0 <a href=\"https:\/\/simpleprogrammer.com\/2010\/12\/12\/back-to-basics-why-unit-testing-is-hard\/\" target=\"_blank\">I\u2019ve written about how I have my doubts<\/a> about blindly following this best practice in the past, but <a href=\"https:\/\/simpleprogrammer.com\/2011\/01\/14\/back-to-basics-unit-testing-automated-blackbox-testing-and-conclusions\/\" target=\"_blank\">whether or not we should follow it<\/a>, is not what I am concerned with today.\\n\\nUnit testing is extremely contextual.\u00a0 What I mean by this, is that <strong>almost anyone would agree that there are a certain set of circumstances that makes unit testing have value.<\/strong>\\n\\nIf you work in an environment where the execution of unit tests takes a really long time, or you are developing your software in a waterfall approach where you have a big upfront design and detailed requirements, unit testing starts to lose value rapidly.\\n\\nBut rather than get trapped into the argument of when unit testing loses its value, it is better to address when it has the highest value\u2014we are much more likely to agree there.\\n\\n<strong>Unit testing has the highest value when we are working in agile environments where changes are being introduced into a software system rapidly and refactoring is taking place.<\/strong>\u00a0 It also greatly increases in utility when you are able to execute and write the tests quickly, because that feedback loop makes it much easier to write the tests in a step by step approach, especially when doing TDD.\\n\\n<a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/uml.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0 16px 4px 0; padding-left: 0; padding-right: 0; display: inline; float: left; padding-top: 0; border: 0;\" title=\"Businessman\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/uml_thumb.jpg\" alt=\"Businessman\" width=\"240\" height=\"160\" align=\"left\" border=\"0\" \/><\/a>There are plenty of other best practices that have fallen out of favor, like heavily commenting code and documenting requirements with UML diagrams, but context also greatly played a part in the value of these practices.\\n\\nWhen most developers wrote very short variable and method names, comments were really important.\u00a0 Before Agile processes became prevalent, getting detailed requirements upfront was critical.\\n\\n<\/p>\n<h2>But, most best practices are good!<\/h2>\n<p>\\n\\nYes, you are right, most best practices do apply pretty broadly and are generally helpful in a large number of different contexts.\\n\\nFor example, it is considered a best practice to use a source control system and it doesn\u2019t seem like there are many situations where this wouldn\u2019t be the case.\\n\\nSo doesn\u2019t that make it a concrete rule or a principle?\\n\\nNo, it is still too specific to be generally applied in all cases and the act of putting your code in source control does nothing to improve the quality of your software or software product.\\n\\n<strong>If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.<\/strong>\\n\\nYou see, <strong>most best practices are actually derived from universally applicable principles that never change.<\/strong>\u00a0 That is why most best practices are good.\\n\\nThe problem is applying the best practice itself in no way assures the benefit of its underlying principle.\\n\\nTo put it plainly, there is something greater at work that makes it a good idea to check your code into a source control system.\u00a0 It is entirely possible to follow the action, but completely miss the spirit of the action.\\n\\nMore and more today, I see software development teams that are:\\n\\n<\/p>\n<ul>\\n    <\/p>\n<li>Writing unit tests<\/li>\n<p>\\n    <\/p>\n<li>Using continuous integration systems<\/li>\n<p>\\n    <\/p>\n<li>Using source control<\/li>\n<p>\\n    <\/p>\n<li>Having Scrum meetings<\/li>\n<p>\\n    <\/p>\n<li>Pair programming<\/li>\n<p>\\n    <\/p>\n<li>Using IoC containers<\/li>\n<p>\\n<\/ul>\n<p>\\n\\nYet they are getting little to no benefit from it.\u00a0 Just a bunch more pain and hoops to jump through.\u00a0 The reason is simple\u2026\\n\\n<\/p>\n<h2><\/h2>\n<p>\\n\\n<\/p>\n<h2>It\u2019s not the best practice that is effective, it is the principle behind the best practice<\/h2>\n<p>\\n\\nPrinciples are everywhere.\u00a0 They apply in all aspects of our life.\u00a0 You cannot go through the day without being affected by the results of 100s of different principles that have a constant influence on your life, just like the law of gravity does.<a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/gravity.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; float: right; padding-top: 0; border: 0;\" title=\"gravity\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/gravity_thumb.jpg\" alt=\"gravity\" width=\"240\" height=\"240\" align=\"right\" border=\"0\" \/><\/a>\\n\\nGravity is actually a great way to understand principles.\u00a0 As far as we know, it is a universal force that is always in effect.\u00a0 It is impossible to escape the law of gravity, wherever you go in the universe it affects you.\\n\\n<strong>Principles are like laws of nature except bigger.\u00a0 Principles are more like the laws of reality.<\/strong>\u00a0 Even though you may not be able to describe them fully or understand how they work, they always work.\\n\\nTake for instance, the law of the harvest.\u00a0 Most people are familiar with this particular principle.\u00a0 It basically goes like this.\\n\\n<\/p>\n<blockquote><p><strong><em>You reap what you sow.<\/em><\/strong><\/p><\/blockquote>\n<p>\\n\\nHow universal is this truth?\u00a0 How can anyone avoid it?\u00a0 How many times have you found yourself subject to this inescapable law about how reality works?\\n\\nMany software development best practices are actually based on this principle.\u00a0 Think about best practices that have you make efforts to improve the quality of software early on in the process.\\n\\nTDD or test driven development, is such a best practice.\u00a0 The basis of TDD is to introduce quality into the software development process as early as possible, so that the finished product is better.\\n\\nIf you apply the practice of TDD without understanding this principle, you are just following the motions and you won\u2019t actually gain the benefit of the practice.\\n\\nIf you can\u2019t understand at some level that the point of doing TDD is to sow some good seeds in your software that you will harvest later on, you won\u2019t be writing the right kind of tests.\\n\\n<strong>There is nothing magical about writing tests before writing code, but there is something valuable in purposely investing in upfront quality with the end goal of getting a big yield on that investment in the right season.<\/strong>\\n\\nBy the way, that is why I like Bob Martin\u2019s book <a href=\"http:\/\/www.amazon.com\/gp\/product\/0131857258\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0131857258&amp;linkCode=as2&amp;tag=makithecompsi-20\" target=\"_blank\">Agile Principles, Patterns and Practices in C#<\/a>; it discusses many principles of software development that are timeless.\u00a0 Books like this one and the book I have mentioned probably 10 times in this blog, <a href=\"http:\/\/www.amazon.com\/gp\/product\/1439167346\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1439167346&amp;linkCode=as2&amp;tag=makithecompsi-20\" target=\"_blank\">How to Win Friends and Influence People<\/a>, are full of principles.\\n\\nAlso, check it out, you just learned what Agile really is.\u00a0 With principles in mind, now read <a href=\"http:\/\/agilemanifesto.org\/\" target=\"_blank\">the Agile manifesto<\/a>.\u00a0 It was never designed to be a detailed process and set of best practices for developing software, <strong>it was always meant to be a recognition of a set of principles that guide software development.<\/strong>\\n\\nSo, just remember the next time you are arguing with someone over a best practice, or consider applying one to a project you are working on, if you don\u2019t understand the underlying principle, no amount of ceremony and procedure will have the smallest amount of benefit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is a huge difference between a principle and a best practice.\\n\\nBest practices are subjective and depend largely on context, while principles are eternal and universal.\\n\\n\\n\\nAfter writing The More I Know The Less I Know, I received a few emails talking about how there are absolute best practices that should always be followed in software&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[11287,2185,264,4909],"tags":[],"class_list":["post-1856","post","type-post","status-publish","format-standard","hentry","category-agile","category-best-practices","category-learning","category-psychology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Principles Are Timeless Best Practices Are Fads - Simple Programmer<\/title>\n<meta name=\"description\" content=\"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Principles Are Timeless Best Practices Are Fads - Simple Programmer\" \/>\n<meta property=\"og:description\" content=\"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-17T23:05:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-09T22:34:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg\" \/>\n<meta name=\"author\" content=\"John Sonmez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Sonmez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"Principles Are Timeless Best Practices Are Fads\",\"datePublished\":\"2013-02-17T23:05:06+00:00\",\"dateModified\":\"2018-01-09T22:34:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/\"},\"wordCount\":1273,\"commentCount\":6,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2013\\\/02\\\/time_thumb.jpg\",\"articleSection\":[\"Agile\",\"Best Practices\",\"Learning\",\"Psychology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/\",\"name\":\"Principles Are Timeless Best Practices Are Fads - Simple Programmer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2013\\\/02\\\/time_thumb.jpg\",\"datePublished\":\"2013-02-17T23:05:06+00:00\",\"dateModified\":\"2018-01-09T22:34:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2013\\\/02\\\/time_thumb.jpg\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2013\\\/02\\\/time_thumb.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/principles-are-timeless-best-practices-are-fads\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Principles Are Timeless Best Practices Are Fads\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/\",\"name\":\"Simple Programmer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/simpleprogrammer.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\",\"name\":\"John Sonmez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"caption\":\"John Sonmez\"},\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/author\\\/jsonmez\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Principles Are Timeless Best Practices Are Fads - Simple Programmer","description":"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.","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:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/","og_locale":"en_US","og_type":"article","og_title":"Principles Are Timeless Best Practices Are Fads - Simple Programmer","og_description":"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.","og_url":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/","og_site_name":"Simple Programmer","article_published_time":"2013-02-17T23:05:06+00:00","article_modified_time":"2018-01-09T22:34:20+00:00","og_image":[{"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg","type":"","width":"","height":""}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"Principles Are Timeless Best Practices Are Fads","datePublished":"2013-02-17T23:05:06+00:00","dateModified":"2018-01-09T22:34:20+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/"},"wordCount":1273,"commentCount":6,"image":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg","articleSection":["Agile","Best Practices","Learning","Psychology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/","url":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/","name":"Principles Are Timeless Best Practices Are Fads - Simple Programmer","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg","datePublished":"2013-02-17T23:05:06+00:00","dateModified":"2018-01-09T22:34:20+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"If you were to blindly follow any best practice and not apply that best practice in a way that brings out the underlying principle, you would be very unlikely to actually receive any benefit.","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2013\/02\/time_thumb.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/principles-are-timeless-best-practices-are-fads\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"Principles Are Timeless Best Practices Are Fads"}]},{"@type":"WebSite","@id":"https:\/\/simpleprogrammer.com\/#website","url":"https:\/\/simpleprogrammer.com\/","name":"Simple Programmer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/simpleprogrammer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67","name":"John Sonmez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","caption":"John Sonmez"},"url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/"}]}},"_links":{"self":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/1856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/comments?post=1856"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/1856\/revisions"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=1856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=1856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=1856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}