{"id":21174,"date":"2018-04-09T15:12:10","date_gmt":"2018-04-09T19:12:10","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=21174"},"modified":"2019-01-22T15:45:42","modified_gmt":"2019-01-22T20:45:42","slug":"fixme-doesnt-always-mean-fix-me","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/04\/09\/fixme-doesnt-always-mean-fix-me\/","title":{"rendered":"&ldquo;FIXME&rdquo; Doesn&rsquo;t Always Mean &ldquo;Fix Me&rdquo;"},"content":{"rendered":"<p><a href=\"http:\/\/belkadan.com\/blog\/2018\/04\/FIXME\/\">Jordan Rose<\/a> (<a href=\"https:\/\/twitter.com\/UINT_MIN\/status\/981627969532715008\">tweet<\/a>):<\/p>\n<blockquote cite=\"http:\/\/belkadan.com\/blog\/2018\/04\/FIXME\/\">\n<p>And you might be wondering if anyone is tracking all of these things that supposedly need fixing. Is there a <a href=\"https:\/\/bugs.swift.org\">JIRA<\/a> for each one? No, doesn&rsquo;t seem to be&#8230;<\/p>\n<p>The answer is that &ldquo;FIXME&rdquo; doesn&rsquo;t <em>really<\/em> mean &ldquo;this code needs fixing&rdquo;, at least not in Swift and LLVM. It means &ldquo;this code isn&rsquo;t as good as it should be&rdquo;.<\/p>\n<ul>\n<li>Maybe it&rsquo;s using a slow algorithm, like a linear search through thousands of elements instead of a hashtable or binary search.<\/li>\n<li>Maybe it doesn&rsquo;t handle some inputs that are unusual but not impossible.<\/li>\n<li>Maybe the code&rsquo;s behavior is fine, but it&rsquo;s really hard to understand and could benefit from some refactoring.<\/li>\n<\/ul>\n<\/blockquote>\n<p>This is how I use it as well. A &ldquo;FIXME&rdquo; in the code is more like a note about known limitations or ideas for future improvement. Something that actually needs to be fixed soon goes into the bug tracker.<\/p>","protected":false},"excerpt":{"rendered":"<p>Jordan Rose (tweet): And you might be wondering if anyone is tracking all of these things that supposedly need fixing. Is there a JIRA for each one? No, doesn&rsquo;t seem to be&#8230; The answer is that &ldquo;FIXME&rdquo; doesn&rsquo;t really mean &ldquo;this code needs fixing&rdquo;, at least not in Swift and LLVM. It means &ldquo;this code [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2018-04-09T19:12:12Z","apple_news_api_id":"fb66e7b6-574f-40fb-a3c6-1c0eca7c2ca6","apple_news_api_modified_at":"2019-01-22T20:45:46Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/A-2bntldPQPujxhwOynwspg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[],"tags":[44,229,71,816,901],"class_list":["post-21174","post","type-post","status-publish","format-standard","hentry","tag-bugtracking","tag-llvm","tag-programming","tag-refactoring","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/21174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=21174"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/21174\/revisions"}],"predecessor-version":[{"id":21183,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/21174\/revisions\/21183"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=21174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=21174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=21174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}