{"id":140,"date":"2025-04-30T07:22:00","date_gmt":"2025-04-30T07:22:00","guid":{"rendered":"https:\/\/boochlin.com\/?p=140"},"modified":"2025-05-21T22:15:28","modified_gmt":"2025-05-21T22:15:28","slug":"the-clean-coder-%e7%84%a1%e7%91%95%e7%9a%84%e7%a8%8b%e5%bc%8f%e7%a2%bc-%e7%95%aa%e5%a4%96%e7%af%87-%e6%9b%b8%e6%91%98%e5%bf%83%e5%be%97","status":"publish","type":"post","link":"https:\/\/boochlin.com\/?p=140","title":{"rendered":"The Clean coder: \u7121\u7455\u7684\u7a0b\u5f0f\u78bc \u756a\u5916\u7bc7 \u2013 \u66f8\u6458\u5fc3\u5f97"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/im1.book.com.tw\/image\/getImage?i=http:\/\/www.books.com.tw\/img\/001\/059\/82\/0010598217.jpg&amp;v=521b3c39&amp;w=348&amp;h=348\" alt=\"the clean coder\" \/><\/p>\n<p><span style=\"color: #993300;\"><strong>\u9019\u662f\u4e00\u672c\u8abf\u9069\u8207\u4eba\u8207\u7a0b\u5f0f\u78bc\u76f8\u8655\u7684\u72c0\u614b\u5c0d\u61c9\u66f8<\/strong><\/span><\/p>\n<p>\u4e4b\u524d\u770b\u5b8c \u7121\u6687\u7684\u7a0b\u5f0f\u78bc \u672c\u7bc7\uff0c\u6df1\u6df1\u89ba\u5f97\u9019\u4f5c\u8005\u4e00\u5b9a\u66fe\u5728\u8077\u5834\u4e0a\u6703\u88ab\u73a9\u904e\u597d\u5e7e\u8f2a\uff08\u5982\u679c\u662f\u5728\u53f0\u7063\u7684\u8a71\uff09\uff0c\u96d6\u7136\u88e1\u9762\u7684\u5167\u5bb9\u5f88\u5be6\u5728\uff0c\u6211\u4e5f\u5f88\u8a8d\u540c\uff0c\u4f46\u662f\u5be6\u969b\u4e0a\u5230\u5e95\u53ef\u4e0d\u53ef\u80fd\uff0c\u53c8\u662f\u4e00\u56de\u4e8b\u5427\uff0c\u53c8\u6216\u8005\u4ed6\u5176\u5be6\u662f\u62fc\u4e86\u8001\u547d\u641e\u8d77\u4f86\uff0c\u6bd4\u5728\u53f0\u7063\u63a8\u884c\u7f77\u5de5\u6cd5\u9084\u8981\u96e3\u7684\u60c5\u6cc1\uff0c\u6210\u529f\u63a8\u8d77\u4f86\uff0c\u53ea\u662f\u7528\u8ac7\u7b11\u98a8\u751f\u5f97\u65b9\u5f0f\u8b1b\u5f97\u5f88\u50cf\u5f88\u5bb9\u6613\u3002<\/p>\n<p>\u5728\u8077\u5834\u4e0a\uff0c\u4f60\u7684\u5927\u8001\u95c6\u53ef\u80fd\u5b8c\u5168\u4e0d\u5728\u610f\u4f60\u5beb\u5f97code \u5230\u5e95\u4e7e\u4e0d\u4e7e\u6de8\uff0c\u4ed6\u53ef\u80fd\u53ea\u5728\u4e4e schedule \u6709\u6c92\u6709 delay\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u53f0\u7063\u66f4\u52a0\u56b4\u91cd\uff0c\u56e0\u6b64\u5982\u4f55\u6210\u70ba\u4e00\u500b\u4e0d\u8b93\u81ea\u5df1\u52a0\u73ed\u5230\u809d\u58de\u6389\uff0c\u53c8\u80fd\u5beb\u51faclean code\u7684 clean coder \u53ef\u80fd\u66f4\u52a0\u56f0\u96e3\u3002\u90a3\u9ebcbob\u5927\u53d4\u5728\u7f8e\u570b\u5c31\u6c92\u6709\u9019\u554f\u984c\u55ce\uff1f<\/p>\n<p>\u679c\u4e0d\u5176\u7136\u5927\u53d4\u9084\u6709\u51fa\u53e6\u5916\u4e00\u672c\u66f8\uff0c\u4e5f\u5c31\u662f\u756a\u5916\u7bc7 \u00a0The Clean coder\uff0c\u6558\u8ff0\u4ed6\u90e8\u4efd\u7684\u4eba\u751f\u81ea\u50b3\uff0c\u5f9e\u5e74\u7d00\u8f15\u8f15\u5565\u90fd\u4e0d\u6703\u5f8c\u4f86\u4f4d\u5c45\u9ad8\u4f4d\uff0c\u7576\u7136\u9019\u53ea\u662f\u4ed6\u8aaa\u5f97\uff0c\u5176\u5be6\u4ed6\u525b\u51fa\u9053\u5c31\u5f88\u5f37\u4e86\uff0c\u4f46\u662f\u9019\u4e0d\u662f\u91cd\u9ede\uff0c\u9019\u672c\u66f8\u66f4\u91cd\u8981\u7684\u662f\u4ed6\u5982\u4f55\u6210\u70ba\u4e00\u500b clean coder(\u4e2d\u6587\uff1a\u5c08\u696d\u7a0b\u5f0f\u8a2d\u8a08\u5e2b)\u7684\u7d93\u9a57\u8ac7\u3002<\/p>\n<p>\u6c92\u60f3\u5230\u7c21\u4ecb\u6211\u5c31\u81ea\u5df1\u63b0\u51fa\u90a3\u9ebc\u591a\uff0c\u4f46\u662f\u5176\u5be6\u4e00\u958b\u59cb\u6253\u7b97\u53ea\u662f\u7576\u4f5c\u9592\u66f8\u770b\u770b\uff0c\u7562\u7adf\u9053\u7406\u4eba\u4eba\u61c2\uff0c\u5be6\u969b\u8981\u61c9\u7528\u6642\u53c8\u662f\u4e00\u5957\u3002\u7576\u7136\u5de5\u4f5c\u5e7e\u5e74\u4e86\uff0c\u9084\u5728\u696d\u754c\u9b3c\u6df7\uff0c\u60f3\u5fc5\u90fd\u6709\u81ea\u5df1\u7684\u4e00\u5169\u5957\u624b\u6cd5\u3002\u5f8c\u9762\u6211\u5c31\u81ea\u5df1\u96a8\u4fbf\u8cbc\u4e0a\u81ea\u5df1\u7684\u7d93\u9a57\u8ddf\u66f8\u4e2d\u7684\u9a57\u8b49\u3002 \u00a0\u5404\u4f4d\u5c31\u4e0d\u8981\u592a\u8003\u7a76\u4e86<\/p>\n<p><!--more--><\/p>\n<h3>\u300e\u5c08\u696d\u4e3b\u7fa9\u300f<\/h3>\n<p>\u5c08\u696d\u4eba\u54e1\u8a72\u6703\u5f97\u5e7e\u500b\u9805\u76ee\uff1a<\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">Design patterns\uff1a\u5fc5\u9808\u80fd<\/span><\/strong>\u63cf\u8ff0GoF\u768424\u500b\u8a2d\u8a08\u6a21\u5f0f\uff0c\u540c\u6642\u5c0d\u65bcPOSA\u66f8\u4e2d\u6240\u4ecb\u7d39\u7684\u8a31\u591a\u6a21\u5f0f\u90fd\u6709\u5be6\u6230\u7d93\u9a57\u3002<\/li>\n<li><strong><span style=\"color: #000000;\">Design principles\uff1a<\/span><\/strong>SOLID\u539f\u5247<\/li>\n<li><strong><span style=\"color: #000000;\">Methods\uff1a<\/span><\/strong>XP\u3001Scrum\u3001Lean\u3001Kanban\u3001Waterfall\u3001Structured Analysis\u3001Structured Design\u3002<\/li>\n<li><strong><span style=\"color: #000000;\">Disciplines\uff1a<\/span><\/strong>TDD\u3001Object-Oriented Design\u3001Structured Programming\u3001Continuous Integration\u3001Pair Programming\u3002<\/li>\n<li><strong><span style=\"color: #000000;\">Artifacts\uff1a<\/span><\/strong>UML\u3001DFD\u3001Structure Chart\u3001Petri Net\u3001State Transition Diagram and Table\u3001Flow Chart\u3001Decision Table\u3002<\/li>\n<\/ul>\n<p>\uff08p.52\uff09\u9019\u6771\u897f\u5f88\u591a\u9023\u770b\u90fd\u6c92\u770b\u904e\uff0c\u4f46\u662f\u53ef\u4ee5\u4f5c\u70ba\u4e0b\u4e00\u968e\u6bb5\u8981\u8b80\u5f97\u6771\u897f\uff0c\u4f46\u662f\u6211\u89ba\u5f97\u6700\u91cd\u8981\u5f97\u662f p.53 \u6240\u63d0\u5230\u7684\u300e\u5805\u6301\u5b78\u7fd2\u300f<\/p>\n<h3>\u300e\u5805\u6301\u5b78\u7fd2\u300f<\/h3>\n<p><span style=\"color: #0000ff;\">\u8edf\u9ad4\u884c\u696d\u98db\u901f\u6539\u8b8a\uff0c\u9019\u4ee3\u8868\u8005\u8edf\u9ad4\u5de5\u7a0b\u5e2b\u5fc5\u9808\u5805\u6301\u5ee3\u6cdb\u5b78\u7fd2\u624d\u4e0d\u6703\u88ab\u6642\u4ee3\u6dd8\u6c70\uff0c\u6211\u8a8d\u70ba\u9019\u662f\u9019\u884c\u696d\u4e00\u76f4\u4ee5\u4f86\u6700\u5927\u7684\u512a\u9ede\u8ddf\u7f3a\u9ede\uff0c\u80fd\u4e0d\u65b7\u7684\u5b78\u7fd2\u4ee3\u8868\u9019\u6771\u897f\u6c38\u9060\u5728\u767c\u5c55\uff0c\u53ef\u4ee5\u62c9\u51fa\u8207\u4e00\u822c\u884c\u696d\u7684\u85aa\u6c34\u5dee\u8ddd\uff0c\u4f46\u4e5f\u662f\u56e0\u70ba\u9019\u4e00\u9ede\uff0c\u9020\u6210\u4f60\u6703\u975e\u5e38\u7d2f\uff0c\u5982\u540c\u6b64blog\u7684\u6a19\u984c<strong>\u300e\u5b78\u6d77\u7121\u6daf\u9019\u4ef6\u4e8b\u6574\u500b\u9ebb\u7169\u300f<\/strong>\uff0c\u5805\u6301\u5b78\u7fd2\u5927\u6982\u662f\u9019\u4e00\u884c\u696d\u6700\u9ad8\u7684\u9580\u6abb\u4e86\u5427<\/span><\/p>\n<p>(p.53)<\/p>\n<h3>\u300e\u8aaa\u4e0d\u300f<\/h3>\n<p>\u5974\u96b8\u6c92\u6709\u6b0a\u5229\u8aaa\u4e0d\uff0c\u52de\u5de5\u6216\u8a31\u4e5f\u5c0d\u8aaa\u4e0d\u6709\u6240\u9867\u616e\uff0c\u4f46\u662f\u5c08\u696d\u4eba\u58eb\u61c9\u8a72\u61c2\u5f97\u8aaa\u4e0d\u3002\u4e8b\u5be6\u4e0a\u512a\u79c0\u7684\u7d93\u7406\u4eba\u5c0d\u65bc\u6562\u8aaa\u4e0d\u7684\u4eba\u7e3d\u662f\u6c42\u8ce2\u82e5\u6e34\u3002<\/p>\n<p>(p.59) \u8001\u5be6\u8aaa\uff0c\u53f0\u7063\u7684\u512a\u79c0\u7d93\u7406\u4eba\u53ef\u80fd\u90fd\u5728\u570b\u5916\uff0c\u7136\u5f8c\u570b\u5167\u53ea\u6709\u5974\u96b8\uff0c\u7d50\u8ad6\u5c31\u662f\u9019\u6a23\uff0c\u300e\u8aaa\u4e0d\u300f\u7b49\u65bc\u6c92\u6709\u5de5\u4f5c\u3002<\/p>\n<h3>\u300e\u8aaa\u662f\u300f<\/h3>\n<p>\u9019\u53e5\u8a71\u5c31\u662f\u4e00\u7a2e\u627f\u8afe\uff0c\u9019\u9700\u8981\u4e09\u500b\u6b65\u9a5f<br \/>\n<span style=\"color: #0000ff;\">1. \u53e3\u982d\u4e0a\u8aaa\u81ea\u5df1\u5c07\u6703\u53bb\u4f5c<\/span><br \/>\n<span style=\"color: #0000ff;\"> 2. \u5fc3\u88e1\u8a8d\u771f\u7684\u5c0d\u5f85\u81ea\u5df1\u505a\u51fa\u53bb\u7684\u627f\u8afe<\/span><br \/>\n<span style=\"color: #0000ff;\"> 3. \u771f\u7684\u4ed8\u8af8\u884c\u52d5\u53bb\u4f5c<\/span><\/p>\n<p>\u5f88\u591a\u60c5\u6cc1\u5927\u5bb6\u90fd\u6703\u505c\u5728\u7b2c\u4e00\u6b65\u9a5f\uff0c\u5c24\u5176\u662f\u4f60\u59d4\u8a17\u975e\u4f60\u81ea\u5df1\u7684\u4eba\uff0c\u9700\u8981\u8de8\u90e8\u5408\u4f5c\u7684\u60c5\u6cc1\u3002bob \u5927\u53d4\u6709\u63d0\u5230\u5e7e\u500b\u4ed6\u6c7a\u5f97\u5f88\u53ef\u80fd\u53ea\u662f\u8aaa\u8aaa\u7684\u55ae\u5b57\u50cf\u662f need , should , hope , wish , let&#8217;s\uff0c\u9019\u9084\u883b\u6709\u8da3\u7684\uff0c\u5404\u4f4d\u53ef\u4ee5\u8a66\u8a66\u770b\u5982\u4f55\u5c0d\u61c9\u5230\u4e2d\u6587\u55ae\u5b57\u88e1\u3002<\/p>\n<p>\u90a3\u9ebc\u771f\u6b63\u7684\u627f\u8afe\u61c9\u8a72\u662f\uff1f \u5728\u4f60\u5c0d\u81ea\u5df1\u5c07\u4f5c\u4f55\u4e8b\u660e\u78ba\u63cf\u8ff0\u4e4b\u5f8c\uff0c\u4e26\u80fd\u78ba\u5b9a\u671f\u9650\uff0c\u50cf\u662f \u6211\u5c07\u5728xxxx\u65e5\u4e4b\u524d\uff0c\u628axxxx\u4efb\u52d9\u5b8c\u6210\u3002<\/p>\n<p>(p.81) \u91cd\u9ede\u5c31\u662f\u627e\u51fa\u8ab0\u8aaa\u8b0a\uff0c\u7136\u5f8c\u5982\u4f55\u4e0d\u8b93\u81ea\u5df1\u8aaa\u8b0a\uff0c\u4f46\u662f\u767c\u73fe\u5de5\u4f5c\u5230\u73fe\u5728\uff0c\u5e7e\u4e4e\u90fd\u662f\u5148\u628a\u5c0d\u65b9\u7576\u4f5c\u6c92\u4f5c\u627f\u8afe\u7684\u4eba\uff0c\u8981\u4e00\u76f4\u50ac<\/p>\n<h3>\u300e\u6d41\u614b\u5340(the flow zone)\u300f<\/h3>\n<p><span style=\"color: #0000ff;\">\u5176\u5be6\u5beb\u7a0b\u5f0f\u9019\u6574\u500b\u7ae0\u7bc0\u5c31\u662f\u5728\u8ac7\u8981\u4fdd\u6301\u4e00\u500b\u826f\u597d\u7684\u72c0\u614b\u53bb\u57f7\u884c\u5beb\u7a0b\u5f0f\uff0c\u7576\u4f60\u5728\u7126\u616e\uff0c\u534a\u591c\u60f3\u7761\u89ba\u6642\u5beb\u5f97\u6771\u897f\u516b\u6210\u4e0d\u6703\u597d\u5230\u54ea\u88e1\uff0c\u800c\u6bd4\u8f03\u7279\u5225\u7684\u662f\u4f5c\u8005\u4e5f\u628a\u300e\u5c08\u6ce8\u6642\u9032\u5165\u7684\u9ad8\u6548\u7387\u72c0\u614b\u300f\u4e5f\u8996\u70ba\u4e00\u7a2e\u4e0d\u826f\u597d\u7684\u72c0\u614b\uff0c\u7406\u7531\u5c31\u662f\u4f60\u6703\u7121\u6cd5\u9867\u53ca\u5927\u5c40\uff0c\u9020\u6210\u5f8c\u7e8c\u7684\u554f\u984c\uff0c\u800c\u89e3\u6c7a\u5f97\u9019\u60c5\u6cc1\u7684\u65b9\u6cd5\u5c31\u662f pair programing \uff0c\u7136\u5f8c\u4e5f\u4e0d\u8981\u807d\u97f3\u6a02\uff0c\u5c0d\u65bc\u5225\u4eba\u7684\u4e2d\u65b7\u4e5f\u6703\u611f\u5230\u706b\u5927\u3002<\/span><\/p>\n<p>(p.95) \u5176\u5be6\u6211\u89ba\u5f97\u6d41\u614b\u5340\u8d85\u68d2\u7684\uff0c\u9019\u88e1\u898b\u4ec1\u898b\u667a\uff0c\u9084\u6709\u96a8\u4fbf\u4e2d\u65b7\u5b83\u4eba\u5de5\u4f5c\u4e0d\u592a\u597d\u5427\u3002<\/p>\n<h3>\u300e\u4fdd\u6301\u7bc0\u594f\u300f<\/h3>\n<p>\u9032\u53ef\u80fd\u7684\u4fdd\u6301\u7bc0\u594f\uff0c\u4e0d\u8981\u548c\u554f\u984c\u4e00\u76f4\u8cbc\u7684\u90a3\u9ebc\u8fd1\uff0c\u5c24\u5176\u662f\u963b\u585e\u548c\u51fa\u932f\u7684\u6642\u5019\u3002\u5927\u90e8\u5206\u7684\u60c5\u6cc1\u4e0d\u8981\u7528\u76f2\u76ee\u885d\u523a\uff0c\u4e5f\u5c31\u662f\u8d85\u6642\u52a0\u73ed\u7684\u65b9\u5f0f\uff0c\u9664\u975e\u662f\u4ee5\u4e0b\u4e09\u500b\u689d\u4ef6\u90fd\u7b26\u5408<br \/>\n<span style=\"color: #0000ff;\">1. \u4f60\u500b\u4eba\u80fd\u64e0\u51fa\u9019\u4e9b\u6642\u9593<\/span><br \/>\n<span style=\"color: #0000ff;\"> 2. \u77ed\u671f\u52a0\u73ed\uff0c\u6700\u591a\u5169\u9031<\/span><br \/>\n<span style=\"color: #0000ff;\"> 3. \u4f60\u8001\u95c6\u8981\u6709\u5099\u6848\uff08\u6700\u95dc\u9375\uff09<\/span><\/p>\n<p>(p.102) \u771f\u7684\u4e0d\u8981\u8b8a\u6210\u5e38\u614b<\/p>\n<h3>\u300e\u5e6b\u52a9\u300f<\/h3>\n<p>\u5e6b\u52a9\u4ed6\u4eba\u8207\u63a5\u53d7\u5e6b\u52a9<br \/>\n<span style=\"color: #0000ff;\">\u8a02\u51fa\u660e\u78ba\u7684\u6642\u9593\u5e36\uff0c\u8b93\u4ed6\u4eba\u53ef\u4ee5\u5411\u4f60\u5c0b\u6c42\u5354\u52a9\uff0c\u4e0d\u8981\u6b7b\u547d\u8b77\u4f4f\u81ea\u5df1\u7684\u5730\u76e4\u62d2\u7d55\u4ed6\u4eba\u7684\u5354\u52a9\u3002<\/span><\/p>\n<p>(p.106) \u5176\u5be6\u6700\u6015\u7684\u662f\uff0c\u4f60\u6253\u7b97\u5e6b\u52a9\u4ed6\u4eba\uff0c\u7d50\u679c\u88ab\u4eba\u7576\u4f5c\u4f86\u627e\u78b4\uff0c\u4e0d\u7136\u5c31\u662f\u5c0d\u65b9\u5fc3\u4e2d\u65e9\u6709\u4e00\u5957\u65b9\u6848\uff0c\u4f86\u554f\u4f60\u53ea\u662f\u60f3\u5c0b\u6c42\u8d0a\u540c\uff0c\u4e0d\u540c\u610f\u898b\u9084\u6703\u88ab\u7576\u6210\u627e\u78b4\u7684<\/p>\n<p>\u300eTDD , Test driven development\u300f<\/p>\n<p>\u9019\u90e8\u4efd\u8a73\u7d30\u7684\u898f\u5247\u53ef\u4ee5\u56de\u53bb\u770b<a href=\"https:\/\/boochlin.com\/?p=98\">\u524d\u9762\u7684\u7ae0\u7bc0<\/a>\uff0c\u7c21\u55ae\u4f86\u8aaa\u5c31\u662f TDD \u53ef\u4ee5\u5e6b\u52a9\u4f60\u6210\u70ba\u4e00\u540dClean coder\uff0c\u5982\u904e\u4f60\u4e0d\u7528\u7684\u8a71\uff0c\u53ef\u80fd\u4f60\u9084\u4e0d\u5920\u5c08\u696d\u3002<\/p>\n<p>(P.110) \u5c08\u6848\u985e\u578b\u7684\uff0c\u50cf\u885b\u751f\u7d19\u7684\u6848\u5b50\u7528\u8d77\u4f86\u53ef\u80fd\u5c31\u662f\u5176\u4fb7\u9650<\/p>\n<h3>\u300e\u7df4\u7fd2\u300f<\/h3>\n<p>\u8981\u5229\u7528\u6a5f\u6703\u591a\u4f5c\u7df4\u7fd2\uff0c\u990a\u6210\u7df4\u7fd2\u7684\u7fd2\u6163\u3002\u53c3\u8207 Open source project\uff0c<span style=\"color: #0000ff;\">\u6c92\u6709\u58d3\u529b\u7684\u5beb\u7a0b\u5f0f\u53ef\u80fd\u662f\u6700\u9ad8\u6548\u7387\u7684\u65b9\u6cd5<\/span>\u3002<\/p>\n<h3>\u300e\u6bcf\u5468\u5de5\u4f5c40 + 20\u5c0f\u6642\u300f<\/h3>\n<p>(p.117)<\/p>\n<h3>\u300e\u9a57\u6536\u6e2c\u8a66\u300f<\/h3>\n<p>\u7d30\u7bc0\u7684\u4ea4\u6d41\u4e8b\u4ef6\u9ebb\u7169\u4e8b\u60c5\uff0c\u5c24\u5176\u662f\u958b\u767c\u65b9\u548c\u696d\u52d9\u65b9\u7684\u7a0b\u5f0f\u7d30\u7bc0\u4ea4\u6d41\uff0c<span style=\"color: #0000ff;\">\u5f88\u591a\u60c5\u6cc1\u4e0b\u96d9\u65b9\u7684\u300e\u5b8c\u6210 (done)\u300f \u662f\u5b8c\u5168\u4e0d\u540c\u7684\uff0c<\/span>\u4f46\u662f\u96d9\u65b9\u9084\u662f\u53ef\u4ee5\u5e36\u9019\u5fae\u7b11\u7684\u56de\u53bb\u5831\u544a\u4ea4\u5f85\uff0c\u56e0\u6b64\u9700\u8981\u8a73\u7d30\u7684\u5354\u5546\uff0c\u4e26\u8a02\u51fa\u81ea\u52d5\u5316\u898f\u7bc4\uff0c\u4e26\u4fdd\u6301\u5176\u6b0a\u5a01\u59d3\u3002<\/p>\n<h3>\u300e\u907f\u514d\u904e\u65e9\u7cbe\u7d30\u5316\u300f<\/h3>\n<p>\u5728\u5c08\u6848\u525b\u555f\u52d5\uff0c\u696d\u52d9\u65b9\u76d2\u958b\u767c\u65b9\u90fd\u5e0c\u671b\u80fd\u7cbe\u78ba\u7684\u80fd\u5f97\u77e5\u6700\u5f8c<br \/>\n<span style=\"color: #0000ff;\">\u4e0d\u78ba\u5b9a\u539f\u5247\uff1a\u5982\u679c\u4f60\u5df7\u696d\u52d9\u65b9\u5c55\u793a\u4f60\u7684\u90e8\u4efd\u6210\u679c\uff0c\u4ed6\u9580\u5c31\u7372\u5f97\u65b0\u7684\u8cc7\u8a0a\uff0c\u4f46\u540c\u6642\u4e5f\u6703\u56de\u994b\u7d66\u4f60\u4ed6\u9580\u5c0d\u6108\u9019\u7cfb\u7d71\u65b0\u7684\u770b\u6cd5\u3002\u5728\u9019\u9023\u7e8c\u5f71\u97ff\u4e4b\u4e0b\uff0c\u5f88\u9ad8\u6a5f\u7387\u96e2\u5b8c\u6210\u8d8a\u4f86\u8d8a\u9060\u3002<\/span><br \/>\n<span style=\"color: #0000ff;\"> \u9810\u4f30\u7126\u616e\uff1a\u7c21\u55ae\u4f86\u8aaa\u9700\u6c42\u4e00\u5b9a\u6703\u8b8a\uff0c\u5373\u4f7f\u6709\u7cbe\u78ba\u7684\u8cc7\u8a0a\uff0c\u4f46\u662f\u9810\u4f30\u8d77\u4f86\u9084\u662f\u5b58\u6709\u64da\u5927\u7684\u8b8a\u6578\u3002<\/span><\/p>\n<h3>\u300e\u6e2c\u8a66\u7b56\u7565\u300f<\/h3>\n<p>\u4efb\u4f55\u5718\u968a\u90fd\u8981\u6709\u4e00\u5957\u597d\u7684\u7b56\u7565\uff0c\u300e\u81ea\u52d5\u5316\u6e2c\u8a66\u91d1\u5b57\u5854\u300f\u662f\u4e00\u500b\u4e0d\u932f\u7684\u6307\u6a19<br \/>\n1. \u55ae\u5143\u6e2c\u8a66 100% xunit<br \/>\n2. \u5143\u4ef6\u6e2c\u8a66 50% api<br \/>\n3. \u6574\u5408\u6e2c\u8a66 20% api<br \/>\n4. \u7cfb\u7d71\u6e2c\u8a66 10% gui<br \/>\n5. \u4eba\u5de5\u63a2\u7d22\u5f0f\u6e2c\u8a66 5%<\/p>\n<p>\u300eQA\u61c9\u8a72\u627e\u4e0d\u5230\u4efb\u4f55\u932f\u8aa4\u300f \u9019\u53ea\u80fd\u8aaa\u662f\u4e00\u500b\u76ee\u6a19\uff0c\u5118\u7ba1\u516c\u53f8\u53ef\u80fd\u6709\u4e00\u652f\u5c08\u696d\u7684QA\u5718\u968a\uff0c\u518d\u9001\u6e2c\u4e4b\u524d\uff0c\u8981\u78ba\u4fdd\u81ea\u5df1\u529f\u80fd\u5b8c\u6574\uff0c\u6c92\u6709\u767c\u73fe bug\uff0c\u4ee5\u4e0b\u95dc\u65bc\uff31\uff21\u6709\u6a5f\u500b\u6e96\u5247\u53ef\u5df2\u53c3\u8003<\/p>\n<p><span style=\"color: #0000ff;\">QA \u4e5f\u662f\u5718\u968a\u7684\u4e00\u90e8\u4efd<\/span><br \/>\n<span style=\"color: #0000ff;\"> QA \u662f\u9700\u6c42\u898f\u7d04\u5b9a\u7fa9\u8005\uff08 \u82f1\u6587\u66f4\u68d2\uff0cQA as Specifiers\uff09\u3002<\/span><br \/>\n<span style=\"color: #0000ff;\"> QA \u662f\u7279\u6027\u63cf\u8ff0\u8005 \uff08QA as Characterizers\uff09<\/span><\/p>\n<p>(p.125-146)<\/p>\n<h3>\u300e\u6642\u9593\u7ba1\u7406\u300f<\/h3>\n<p>\u6642\u9593\u8207\u5c08\u6ce8\u529b\u90fd\u662f\u6709\u9650\u7684\uff0c\u900f\u904e\u7ba1\u7406\u5404\u7a2e\u884c\u70ba\u4fdd\u6301\u9ad8\u6548\u7387\u3002<\/p>\n<h3>\u300e\u6703\u8b70\u300f<\/h3>\n<p>\u9019\u6771\u897f\u6709\u5169\u689d\u771f\u7406<br \/>\n<span style=\"color: #0000ff;\">1. \u6703\u8b70\u662f\u5fc5\u9808\u7684\uff0c<\/span><br \/>\n<span style=\"color: #0000ff;\"> 2. \u6703\u8b70\u6d6a\u8cbb\u4e86\u5927\u91cf\u6642\u9593<\/span><\/p>\n<p>\u6839\u64dabob\u5927\u53d4\u7684\u8aaa\u6cd5\uff0c\u6bcf\u4eba\u6bcf\u5c0f\u6642\u5169\u767e\u7f8e\u91d1\u3002\u5728\u9019\u6a23\u6602\u8cb4\u7684\u6210\u672c\u4e4b\u4e0b\u5fc5\u9808\u61c2\u5f97<span style=\"color: #0000ff;\">\u300e\u62d2\u7d55\u300f\u300e\u96e2\u5e2d\u300f<\/span>\uff0c\u7576\u7136\u4e00\u500b\u597d\u8001\u95c6\u53ef\u4ee5\u5e6b\u52a9\u4f60\u812b\u96e2\u5197\u9577\u7684\u6703\u8b70\uff0c\u66f4\u91cd\u8981\u7684\u662f\u70ba\u4f60\u81ea\u5df1\u7684\u6642\u9593\u8ca0\u8cac\u3002<\/p>\n<p>(p.148)<\/p>\n<h3><span style=\"color: #0000ff;\">\u300e\u7acb\u6703\u300f<\/span><\/h3>\n<p><span style=\"color: #0000ff;\">1. \u6211\u6628\u5929\u505a\u4e86\u4f55\u4e8b\uff1f<\/span><br \/>\n<span style=\"color: #0000ff;\"> 2. \u6211\u4eca\u5929\u6253\u7b97\u505a\u4f55\u4e8b\uff1f<\/span><br \/>\n<span style=\"color: #0000ff;\"> 3. \u6211\u9047\u5230\u4e86\u6368\u9ebc\u554f\u63d0\uff1f<\/span><\/p>\n<p>\u958b\u6703\u8b70\u7684\u6642\u5019\u6bcf\u500b\u4eba\u90fd\u5fc5\u9808\u7ad9\u8005\u56de\u7b54\uff0c\u6bcf\u500b\u4eba\u7684\u56de\u7b54\u6642\u9593\u61c9\u8a72\u4e0d\u8d85\u904e\u4e00\u5206\u9418\uff0c\u6574\u9ad4\u4e0d\u61c9\u8a72\u8d85\u904e\u5341\u5206\u9418\u3002<\/p>\n<p>(p.150) \u6309\u7167\u6211\u524d\u4e00\u4efb\u8001\u95c6\u7684\u73a9\u6cd5\uff0c\u53ea\u662f\u8b8a\u6210\u5927\u5bb6\u7ad9\u800540\u5206\u9418\uff0c\u807d\u4ed6\u6559\u4f60\u8a72\u505a\u4f55\u4e8b\u3002<\/p>\n<h3>\u300e\u722d\u8ad6\u8207\u53cd\u5c0d\u300f<\/h3>\n<p><span style=\"color: #0000ff;\">kent beck \u63d0\u5230\u300e\u51e1\u4e8b\u4e0d\u80fd\u5728\u4e94\u5206\u9418\u5167\u89e3\u6c7a\u7684\u722d\u8ad6\uff0c\u90fd\u4e0d\u80fd\u9760\u8faf\u8ad6\u89e3\u6c7a\u300f\uff0c\u4e3b\u8981\u5c31\u662f\u96d9\u65b9\u90fd\u62ff\u4e0d\u51fa\u6709\u5229\u7684\u8b49\u64da\uff0c\u6700\u5f8c\u8b8a\u6210\u722d\u8ad6\u7684\u4e0d\u662f\u300e\u4e8b\u5be6\u300f\uff0c\u800c\u662f\u300e\u4fe1\u5ff5\u300f\uff0c\u800c\u552f\u4e00\u89e3\u6c7a\u7684\u65b9\u6cd5\u5c31\u662f\u300e\u53bb\u53d6\u5f97\u8cc7\u6599\uff0c\u8b93\u8cc7\u6599\u4f86\u8aaa\u8a71\u300f\uff0c\u4f46\u66f4\u591a\u7684\u60c5\u6cc1\u662f\u6709\u4eba\u958b\u59cb\u63d0\u9ad8\u55d3\u9580\uff0c\u4e5f\u6709\u4eba\u958b\u59cb\u6d88\u6975\u3002<\/span><\/p>\n<p>(p.153) \u5c0d\u65bc\u9019\u4e00\u9ede\uff0c\u6211\u8a8d\u70ba\u722d\u8ad6\u662f\u597d\u7684\uff0c\u56e0\u70ba\u53ef\u80fd\u53ef\u4ee5\u627e\u51fa\u66f4\u68d2\u7684\u6771\u897f\uff0c\u4f46\u662f\u6211\u770b\u5230\u66f4\u5e38\u5e38\u662f\u300e\u4fe1\u5ff5\u300f\u5c0d\u6c7a\uff0c\u800c\u5e73\u5e38\u81ea\u5df1\u5982\u679c\u6c92\u6709\u7d2f\u7a4d\u5c0d\u6280\u8853\u7684\u7d2f\u7a4d\uff0c\u5c0d\u65b9\u4e5f\u6c92\u6709\u7684\u8a71\uff0c\u5c31\u6703\u5f88\u5bb9\u6613\u6d41\u5165\u53e3\u89d2\u3002<\/p>\n<h3>\u300e\u8543\u8304\u5de5\u4f5c\u6cd5\u300f<\/h3>\n<p>\u76f4\u63a5\u770b<a href=\"tps:\/\/zh.wikipedia.org\/wiki\/\u756a\u8304\u5de5\u4f5c\u6cd5\">wiki<\/a><\/p>\n<p>\u63d0\u4f9b\u4e00\u500b<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/pomodoro-timer\/hfgjlgjnpkpmnpojkkpfkogapiclopop?hl=zh-CN\">chrome \u63d2\u4ef6<\/a><\/p>\n<p>(p.154)<\/p>\n<h3>\u300e\u512a\u5148\u9806\u5e8f\u932f\u4e82\u300f<\/h3>\n<p>\u7121\u8ad6\u4ec0\u9ebc\u539f\u56e0\uff0c\u6211\u5011\u90fd\u53ef\u4ee5\u627e\u5230\u8fa6\u6cd5\u9003\u907f\u771f\u6b63\u7684\u5de5\u4f5c\u3002\u4f60\u8aaa\u670d\u81ea\u5df1\u6709\u4e9b\u5de5\u4f5c\u66f4\u7dca\u6025\uff0c\u6240\u4ee5\u8f49\u800c\u53bb\u8655\u7406\uff0c\u9019\u7a2e\u884c\u70ba\u53eb\u505a\u512a\u5148\u9806\u5e8f\u932f\u4e82\u2500\u2500\u63d0\u9ad8\u67d0\u9805\u4efb\u52d9\u7684\u512a\u5148\u9806\u5e8f\uff0c\u4e4b\u5f8c\u5c31\u6709\u85c9\u53e3\u5ef6\u5f8c\u771f\u6b63\u6025\u8feb\u7684\u4efb\u52d9\u3002<span style=\"color: #0000ff;\">\u512a\u5148\u9806\u5e8f\u932f\u4e82\u662f\u81ea\u6211\u9ebb\u9189\u7684\u8b0a\u8a00<\/span>\uff0c\u56e0\u70ba\u4e0d\u80fd\u9762\u5c0d\u771f\u6b63\u9700\u8981\u505a\u7684\u4e8b\u60c5\uff0c\u6240\u4ee5\u6211\u5011\u544a\u8a34\u81ea\u5df1\uff0c\u5176\u4ed6\u4e8b\u60c5\u66f4\u91cd\u8981\u3002\u6211\u5011\u77e5\u9053\u9019\u4e0d\u662f\u771f\u7684\uff0c\u4f46\u9084\u7528\u5b83\u4f86\u6b3a\u9a19\u81ea\u5df1\u3002<\/p>\n<p>(p.155) \u62b1\u6b49\uff0c\u9019\u4e00\u6bb5\u6211\u53ea\u80fd<span style=\"color: #0000ff;\">\u54c8\u54c8\u54c8<\/span>\u8a8d\u540c\uff0c\u96d6\u7136\u6211\u4e0d\u592a\u9019\u6a23\u5e79\uff0c\u8a72\u600e\u9ebc\u8aaa\uff0c\u4e8b\u5be6\u4e0a\u4e8b\u4ef6\u512a\u5148\u5ea6\u9084\u662f\u8a72\u6709\u7684\uff0c\u9019\u53ef\u4ee5\u662f\u6839\u64da\u4e0d\u540c\u5c08\u6848\u7684dead line\u4f86\u5b9a\u7fa9\uff0c\u6216\u8005\u8ddfpm\u8ac7\u5b8c\u5f8c\u518d\u4f86\u5b9a\u7fa9\u3002<\/p>\n<h3>\u300e\u9810\u4f30\u300f<\/h3>\n<p><a href=\"https:\/\/blog.toright.com\/posts\/3471\/clean-coder-%E6%9B%B8%E6%91%98-%E5%A6%82%E4%BD%95%E6%9C%89%E6%95%88%E5%9C%B0%E9%A0%90%E4%BC%B0%E8%BB%9F%E9%AB%94%E5%B0%88%E6%A1%88%E6%99%82%E9%96%93%EF%BC%9F.html\">\u9019\u7bc7<\/a>\u4e0d\u932f<\/p>\n<p><span style=\"color: #0000ff;\">\u5c08\u696d\u4eba\u54e1\u4e00\u65e6\u4f5c\u51fa\u4e86\u627f\u8afe\uff0c\u5c31\u6703\u63d0\u4f9b\u78ba\u5b9a\u7684\u6578\u5b57\uff0c\u5982\u679c\u505a\u4e0d\u5230\uff0c\u4fbf\u4e0d\u6703\u7d66\u51fa\u300e\u627f\u8afe\u300f\uff0c\u4f46\u5728\u5927\u591a\u6578\u60c5\u6cc1\u4e0b\u90fd\u4e0d\u6703\u505a\u51fa\u78ba\u5207\u6578\u5b57\u7684\u627f\u8afe\uff0c\u800c\u662f\u63d0\u4f9b\u6a5f\u7387\u9810\u6e2c\uff0c\u4f86\u63cf\u8ff0\u300e\u671f\u671b\u7684\u5b8c\u6210\u6642\u9593\u300f\uff0c\u53ca\u300e\u53ef\u80fd\u7684\u8b8a\u6578\u300f<\/span><\/p>\n<p>(p.157-168) \u6709\u95dc\u9810\u4f30\u6211\u9084\u883b\u559c\u6b61\u6211\u670b\u53cb\u8aaa\u7684\uff0c\u5148\u5207\u597d\u4efb\u52d9\u5f8c\uff0c\u4e00\u500b\u4e00\u500b\u63a8\u4f30\u6642\u9593\uff0c\u7136\u5f8c\u6700\u5f8c\u52a0\u8d77\u4f86\u4e58\u4e8c\u5c31\u53ef\u4ee5\u5566<\/p>\n<h3>\u300e\u58d3\u529b\u300f<\/h3>\n<p>\u9019\u7bc7\u7121\u611f\uff0c\u7c21\u55ae\u4f86\u8aaa\u5c31\u662f\u9810\u9632\u52dd\u65bc\u6cbb\u7642\uff0c\u4e00\u958b\u59cb\u5c31\u4e0d\u8981\u505a\u51fa\u6703\u8b93\u81ea\u5df1\u7522\u751f\u58d3\u529b\u7684\u627f\u8afe\uff0c\u4f46\u662f\u771f\u7684\u9047\u4e0a\u6642\u4e5f\u8981\u4fdd\u6301\u7d00\u5f8b\u7684\u9762\u5c0d<\/p>\n<p>(p.171)<\/p>\n<h3>\u300e\u5354\u4f5c\u300f<\/h3>\n<p>\u5beb\u7a0b\u5f0f\u9019\u4ef6\u4e8b\u60c5\u96a8\u8005\u7a0b\u5f0f\u8d8a\u4f86\u8d8a\u5927\uff0c\u5408\u4f5c\u662f\u5fc5\u7136\u7684\uff0c\u56e0\u800c\u638c\u63a7\u5404\u500b\u89d2\u8272\u4e4b\u9593\u7684\u95dc\u4fc2\u662f\u5f88\u91cd\u8981\u7684\u4e8b\u60c5\u3002\u7576\u7136\u9019\u88e1bob\u5927\u53d4\u9084\u662f\u6700\u63a8 pair programing with other coder.<\/p>\n<p>(p.175) \u6709\u9ede\u50cf\u5728\u8b1b\u5ee2\u8a71\uff0c\u4e0d\u904ebob\u5927\u53d4\u4e5f\u662f\u5206\u4eab\u4e86\u4ed6\u7576\u5e74\u88ab\u73a9\u58de\uff08\u89e3\u50f1\uff09\u7684\u6545\u4e8b<\/p>\n<h3>\u300e\u5718\u968a\u8207\u5c08\u6848\u300f<\/h3>\n<p><span style=\"color: #0000ff;\">\u5c08\u696d\u7684\u958b\u767c\u7d44\u7e54\u6703\u628a\u9805\u76ee\u5206\u914d\u7d66\u5df2\u5f62\u6210\u51dd\u805a\u529b\u7684\u5718\u968a\uff0c\u800c\u4e0d\u6703\u570d\u7e5e\u8457\u9805\u76ee\u4f86\u7d44\u5efa\u5718\u968a\u3002\u914d\u5408\u524d\u4e00\u7ae0\u7bc0\u7684\u8aaa\u6cd5\uff0c\u6709\u51dd\u805a\u529b\u7684\u5718\u968a\u4ee3\u8868\u8005\u5354\u4f5c\u4e0a\u5df2\u7d93\u5f88\u4e45\uff0c\u7522\u751f\u7684\u6548\u76ca\u81ea\u7136\u4e5f\u9ad8<\/span><\/p>\n<p>(p.184) \u96d6\u7136\u6211\u89ba\u5f97\u9019\u7ae0\u7bc0\u7684\u91cd\u9ede\u6c92\u5565\u597d\u8cea\u7591\uff0c\u4f46\u662f\u76ee\u524d\u53f0\u7063\u7684\u516c\u53f8\u9084\u662f\u504f\u5411\u4ee5 pool \u7684\u65b9\u5f0f\uff0c\u53bb\u6307\u6d3e\u958b\u767c\u8005\u5230\u5404\u500b\u5c08\u6848\u53bb\u57f7\u884c\uff0c\u5c0d\u65bc\u9019\u6a23\u80fd\u7522\u751f\u7684\u5f48\u6027\u597d\u8655\u662f\u4e0d\u80fd\u5426\u8a8d\u7684\uff0c\u9084\u8a18\u5f97\u5927\u4e3b\u7ba1\u66fe\u7d93\u5c0d\u6211\u8aaa\u904e\uff0c\u7528pool\u65b9\u5f0f\u5f88\u597d\u5206\u914d\u5de5\u4f5c\uff0c\u4f46\u662f\u5f88\u96e3\u8b93\u958b\u767c\u8005\u5c08\u6ce8\u5728\u4e00\u500b\u9818\u57df\u3002\u5c0d\u55ae\u4e00\u958b\u767c\u8005\u662f\u597d\u9084\u662f\u4e0d\u597d\u5f88\u96e3\u8aaa\u3002<\/p>\n<h3>\u300e\u8f14\u5c0e\uff0c\u5b78\u5f92\u671f\u8207\u5de5\u85dd\u5178\u7bc4\u300f<\/h3>\n<p>\u5b78\u6821\u80fd\u5920\u50b3\u6388\u96fb\u8166\u7a0b\u5f0f\u8a2d\u8a08\u7684\u7406\u8ad6\uff0c\u4f46\u662f\u7121\u6cd5\u50b3\u6388\u4f60\u6210\u70ba\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u7684\u539f\u5247\uff0c\u5be6\u8e10\uff0c\u6280\u80fd\u3002<\/p>\n<p>(p.200) \u8981\u6211\u4f86\u8aaa\u7684\u8a71\uff0c\u5de5\u4f5c\u968e\u6bb5\u5c31\u53ea\u6709 on job training , \u6211\u4e5f\u4e0d\u77e5\u9053\u8a72\u8aaa\u5565<\/p>\n<h3>\u300e\u5de5\u5177\u300f<\/h3>\n<p>(p.210) \u9019\u90e8\u5206\u6c92\u5565\u597d\u8aaa\u7684\uff0c\u5c31\u662f\u300e\u5de5\u6b32\u5584\u5176\u4e8b\uff0c\u5fc5\u5148\u5229\u5176\u5668\u300f\uff0c\u60f3\u5230\u6700\u8fd1\u8ddf\u516c\u53f8\u8981\u500biphone \u4f86\u6e2c\u8a66\uff0c\u537b\u9072\u9072\u6c92\u6709\u4e0b\u843d\uff0c\u54c0\u54c0\u54c0\u54c0<\/p>\n<p>&nbsp;<\/p>\n<p>\u611f\u8b1d\u5404\u4f4d\u770b\u5b98\u770b\u5230\u9019\u88e1\uff0c\u906e\u61c9\u8a72\u4e5f\u662f clean code\u7684\u6700\u5f8c\u4e00\u7ae0\u7bc0\u4e86\uff0c\u5f88\u591a\u90e8\u5206\u90fd\u662f\u6211\u81ea\u5df1\u7684\u788e\u788e\u5538\uff0c\u4e0d\u8a8d\u540c\u6216\u662f\u60f3\u804a\u804a\u90fd\u6b61\u8fce\u5728\u5e95\u4e0b\u7559\u8a00\u8a0e\u8ad6\u3002<br \/>\n\u524d\u96c6\u56de\u9867<\/p>\n<h1 class=\"entry-title\"><a href=\"https:\/\/boochlin.com\/?p=98\">Clean code: \u7121\u7455\u7684\u7a0b\u5f0f\u78bc \u2013 \u66f8\u6458\u5fc3\u5f97\uff08\u4e00\uff09<\/a><\/h1>\n<h1 class=\"entry-title\"><a href=\"https:\/\/boochlin.com\/?p=101\">Clean code: \u7121\u7455\u7684\u7a0b\u5f0f\u78bc \u2013 \u66f8\u6458\u5fc3\u5f97<\/a>\uff08\u4e8c\uff09<\/h1>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e4b\u524d\u770b\u5b8c \u7121\u6687\u7684\u7a0b\u5f0f\u78bc \u672c\u7bc7\uff0c\u6df1\u6df1\u89ba\u5f97\u9019\u4f5c\u8005\u4e00\u5b9a\u66fe\u5728\u8077\u5834\u4e0a\u6703\u88ab\u73a9\u904e\u597d\u5e7e\u8f2a\uff08\u5982\u679c\u662f\u5728\u53f0\u7063\u7684\u8a71\uff09\uff0c\u96d6\u7136\u88e1\u9762\u7684\u5167\u5bb9\u5f88\u5be6\u5728\uff0c\u6211\u4e5f\u5f88\u8a8d\u540c\uff0c\u4f46\u662f\u5be6\u969b\u4e0a\u5230\u5e95\u53ef\u4e0d\u53ef\u80fd\uff0c\u53c8\u662f\u4e00\u56de\u4e8b\u5427\uff0c\u53c8\u6216\u8005\u4ed6\u5176\u5be6\u662f\u62fc\u4e86\u8001\u547d\u641e\u8d77\u4f86\uff0c\u6bd4\u5728\u53f0\u7063\u63a8\u884c\u7f77\u5de5\u6cd5\u9084\u8981\u96e3\u7684\u60c5\u6cc1\uff0c\u6210\u529f\u63a8\u8d77\u4f86\uff0c\u53ea\u662f\u7528\u8ac7\u7b11\u98a8\u751f\u5f97\u65b9\u5f0f\u8b1b\u5f97\u5f88\u50cf\u5f88\u5bb9\u6613\u3002<\/p>\n","protected":false},"author":1,"featured_media":577,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,25,28],"tags":[31,32,29,43,54],"_links":{"self":[{"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/posts\/140"}],"collection":[{"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/boochlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=140"}],"version-history":[{"count":2,"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":578,"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions\/578"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/boochlin.com\/index.php?rest_route=\/wp\/v2\/media\/577"}],"wp:attachment":[{"href":"https:\/\/boochlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/boochlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/boochlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}