Alipay Programmers in the eyes of the ultimate code and excellent programmers what?

"Double-October" on the eve of Alipay BASIC College hosted an event called "super force Ma Competition". This is a code that only speak of competition, a total of thousands of engineers to participate in Alipay, programmers and procedures by Yuan who write code, the code the sun, showing diligently pursue the ultimate code, and thus portray the strongest Alipay Coder's portrait - ingenuity, extreme, heritage and innovation .

f9855bbe-5eeb-4101-959d-6b00bc8a7a7a.jpeg

We interviewed were given the code Excellence Award, Outstanding Award for the code, the strongest CodeMan three Alipay programmer, to talk in their hearts, what good is the code, what makes excellent programmer.


Good code have in common

There are a thousand thousand readers Hamlet, one thousand and had a thousand programmers writing code that way, but good code must have something in common where, three programmers have given their views.

"Good code, in my opinion is that we can run, you can read, can be appreciated." This is a very good system of codes Prize winner push students to generalize.

d1200c31-fd8d-4e60-ae46-fe113f022559.jpeg

  • "Can run" is a machine for, the fundamental purpose is to write code that tells the computer how to work, so the code first to write right. We often say that concurrency issues, security issues, lack of exception handling issues, etc., are "can run" on top of this requirement is a problem.

  • The second "can be read" is a person who, after all, the number of times the code to read much more than write. A code can be read, even in the presence of the performance, scalability, defects, or through better readability, is to understand others, and then to solve these problems. On the contrary, some of the code though subtle, efficient, but can not read the small audience, not expansion, it is easy to be discarded by history.

  • The third is "can be appreciated" . The first two criteria, that the evaluation function of the angle, "may be appreciated" is from the perspective of the art. Like Photo intention is to record, but also can be made into works of art, the code is the same. Good code to read, prioritize, level of clear, pleasing, just read the novel, as can be seen in the area of problem solving thinking behind the code author, we saw the importance of the risk of seeing crafted traces.

而在卓越代码奖获得者樱桃同学看来,如果只能用三个词来概括优秀的代码,首先应该是正确,其次是可读,最后才是性能。

f8d10459-48c8-4f93-AAA-d87550ef4474.jpeg

正确一定是排在最优先的位置,因为不正确的代码达不成功能最后毫无意义。代码首先是给人读的,然后才是给机器读的,可读性对保证他人理解、项目的长期维护性上影响最大,而且可读的代码通常会是简洁、优雅的。最后才是性能,性能跟业务是伴生关系,前期代码性能相对来说不会太重要。

摘得最强CoderMan称号的连明同学给出的概括则是“可读性、高稳定性和优雅性”。除了入栈和樱桃都提到的可读和优雅以外,连明补充了一个高稳定性的特点。

99e785fa-4cdf-46ea-8fa5-cfcac737dc7a.jpeg

在他看来,稳定性是相对难得的一个代码特性,因为除了实现功能以外,稳定性还意味着在技术风险方面的考虑,以及当下的稳定性和未来业务迅猛扩展时能否保持稳定性的考虑。

代码可读、正确、稳定、简洁优雅,这是支付宝程序员们对优秀代码所下的定义。


师兄领进门,修行在个人

工程师文化意味着什么?也许“Open”和“Share”两个词可以略作解释。支付宝BASIC College一直有一个“师兄文化”,许多技术同学的第一本“入门教程” 就是师兄的代码,在师兄的传帮带之下,支付宝的技术同学不断提升着自己的技术实力。

入栈直到今天仍对自己的师兄功玉有着深刻的印象:

我现在写代码的严谨态度,有很大一部分就是当年师兄带我时培养起来的。我记得,有一次我们和组内其他一些同学讨论,在做vo、bo、do的转换时,是使用Apache Beanutils好,还是直接手写getter、setter更好,一块白板讨论了半个下午,性能、缺陷、给后人留坑等各种问题都考虑到了,最后的结论是直接手写会更好。这与后来集团推出的《阿里巴巴Java开发手册》不谋而合。

类似的故事也在连明身上发生过。初入行的连明第一次开发第一个迭代版本,完成后给师兄Review,师兄只提了两点:写代码前有没有装支付宝的代码格式化插件工具;单测、代码安全扫描有没有打开。然后连明就懵了,后来他才明白,前者代表的是代码格式、规约,这些对于生产而言很重要。后者更容易被技术同学所忽视,魔鬼存在于细节中,如果连这些都做不好,师兄也没有继续做Review的必要。

樱桃所在的团队是一个新组建的团队,他虽然没有经历过师兄的传帮带,但对此也有自己的一番理解。

国内计算机专业存在一个很大的缺失,就是没有培养出大公司所需的、开发能力符合要求的程序员。大公司需要很多能够写出架构合理、实现健壮、代码可读的人才,代码比赛也好、师兄文化也好,都是在填补一个鸿沟,从大学到公司之间做一个引导,工程师要有扎实的基本功,才能聚集在一起做大规模的软件工程。

支付宝的师兄给技术同学上了入行的第一课,播种下了匠心与传承的种子,一代又一代支付宝技术人努力地在各自的岗位上持续追求着极致与创新,这就是支付宝的Code文化。


狂奔在追求卓越的代码路上

樱桃是清华毕业的博士,“我开始写生产线上的代码也就半年多时间”他说。

参加这次超级Ma力大赛以后,他觉得对于自己的代码价值观有了很好的引导作用。作为一个既是一线开发者又是半个Manager的技术人,他眼里的优秀的程序员形象必须具备独立思考能力,能够独立解决一个问题,可以完美Cover从需求分析、设计到落地的全过程。

入行三年多的连明,这次获得了“最强CoderMan”殊荣,但他表示,自己不敢说最强,但是有朝着最强前进的追求。在他看来,支付宝优秀的程序员都有一些共性:

  • 匠心。一个好的程序员就是一个好的工匠,不管是工作还是交流,都精益求精,永不满足,具备耐心和专业的态度。

  • 传承。好的程序员应该是一个Master,不仅自己很强,而且可以带动他人。

  • Innovation. Few people can truly innovative, Lianming also want to be able to use an innovative thoughts and ideas to solve pain points on the payment of treasure business, let technology drive business growth.

But he believes that attitude is paramount, not the attitude of support, all this would be meaningless.

Drawing summarizes the three types of excellent programmers: a class is an implementation type, to achieve fast and good function; one is the type of architecture, can quickly grasp the core needs to get proposed solutions; one is creative, be able to identify problems, propose innovative strategies, algorithms to solve the existing problems. "I am currently still trying to become a programmer-type architecture," he said so modest.

Referring to how keep their technical strength rising, three were also given their own views:

  • Cherry expressed their lack of college is to train the software engineering capability through self-study reading the two books "readable code art" and "Code Complete", learned how to write readable code, how to design software.

  • Drawing will work hard in breadth and depth. Breadth time on areas of concern technical articles, pieces of time to see programming channels Hacker News, Reddit's; involved in large-scale projects to work on depth with 10 times the programmer cattle x learn, improve themselves, he mentioned that this wealth Technology platform, he was involved in a series of large-scale projects, a lot of contact with Daniel was very lucky.

  • Lianming very grateful to the Ministry of Finance of the core platform of this platform, let him have the opportunity to come in to the core of the system is responsible for the comparison, to understand from one system to understand its bearing business, then the entire line of systems, architectures, so he learned a lot of things.

In fact, for Alipay technical people, it is the beginning of the heart do code ingenuity, extreme, heritage and excellence, to contribute to the business through technological strength to ensure stability and growth of the business.

Fear of each line of code, always worth keeping thinking, Alipay technical students to strive for excellence on the road running code.


Guess you like

Origin blog.51cto.com/14164343/2449339