﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-paulwong-随笔分类-COLA</title><link>http://www.blogjava.net/paulwong/category/55393.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 05 Dec 2023 04:01:09 GMT</lastBuildDate><pubDate>Tue, 05 Dec 2023 04:01:09 GMT</pubDate><ttl>60</ttl><item><title>如何保证同事的代码不会腐烂？一文带你了解 Alibaba COLA 架构</title><link>http://www.blogjava.net/paulwong/archive/2023/12/05/451308.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 05 Dec 2023 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2023/12/05/451308.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451308.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2023/12/05/451308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451308.html</trackback:ping><description><![CDATA[<p data-tool="mdnice编辑器" style="margin: 0px; padding: 8px 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; background-color: #ffffff; line-height: 26px; font-size: 16px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">本文开始前，问大家一个问题，你觉得一份业务代码，尤其是互联网业务代码，都有哪些特点？</p>
<p data-tool="mdnice编辑器" style="margin: 0px; padding: 8px 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; background-color: #ffffff; line-height: 26px; font-size: 16px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">我能想到的有这几点：</p>
<ul data-tool="mdnice编辑器" style="margin: 8px 0px; padding: 0px 0px 0px 25px; outline: 0px; max-width: 100%; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; font-size: 17px; background-color: #ffffff; list-style-type: square; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">互联网业务<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">迭代快</strong>，工期紧，导致<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">代码结构混乱，几乎没有代码注释和文档</strong>。</section></li>
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">互联网<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">人员变动频繁</strong>，很容易接手别人的老项目，<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">新人根本没时间吃透代码结构</strong>，紧迫的工期又只能让屎山越堆越大。</section></li>
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">多人一起开发，<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">每个人的编码习惯不同</strong>，工具类代码各用个的，业务命名也经常冲突，影响效率。</section></li>
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">大部分团队几乎<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">没有时间做代码重构</strong>，任由代码腐烂。</section></li>
</ul>
<p data-tool="mdnice编辑器" style="margin: 0px; padding: 8px 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; background-color: #ffffff; line-height: 26px; font-size: 16px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">每当我们新启动一个代码仓库，都是信心满满，结构整洁。但是时间越往后，代码就变得腐败不堪，技术债务越来越庞大。</p>
<p data-tool="mdnice编辑器" style="margin: 0px; padding: 8px 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; background-color: #ffffff; line-height: 26px; font-size: 16px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">这种情况有解决方案吗？也是有的：</p>
<ol data-tool="mdnice编辑器" style="margin: 8px 0px; padding: 0px 0px 0px 25px; outline: 0px; max-width: 100%; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; font-size: 17px; background-color: #ffffff; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">小组内定期做代码重构，解决技术债务。</section></li>
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">组内设计完善的应用架构，让代码的腐烂来得慢一些。<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">（当然很难做到完全不腐烂）</strong></section></li>
     <li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"><section style="margin: 5px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 26px; color: #010101; visibility: visible;">设计尽量简单，<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: black; visibility: visible;">让不同层级的开发都能快速看懂并上手开发</strong>，而不是在一堆复杂的没人看懂的代码上堆更多的屎山。</section></li>
</ol>
<p data-tool="mdnice编辑器" style="margin: 0px; padding: 8px 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif; background-color: #ffffff; line-height: 26px; font-size: 16px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;">而COLA，我们今天的主角，就是为了提供<strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;">一个可落地的业务代码结构规范</strong>，让你的代码腐烂的尽可能慢一些，让团队的开发效率尽可能快一些。<br />
</p>
<a href="https://github.com/alibaba/COLA" target="_blank">https://github.com/alibaba/COLA</a>
<br />
<a href="https://blog.csdn.net/significantfrank/article/details/110934799" target="_blank"><br />
https://blog.csdn.net/significantfrank/article/details/110934799</a>
<br /><br />
<br /><br />
<br />
<img src ="http://www.blogjava.net/paulwong/aggbug/451308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2023-12-05 10:31 <a href="http://www.blogjava.net/paulwong/archive/2023/12/05/451308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>