加载中 ...
首页 > 新闻资讯 > 经验心得 正文

程序员的“横向发展”

2019-03-23 07:29:07 来源:沈阳软件公司 作者:沈阳软件开发

  在我小的时间,家长经常对胖孩子玩笑说:哟,身体长得挺快,惋惜就是横向生长了。看来在许多人的潜意识里,纵向生长是向上的,值得夸奖,横向生长则不是那么色泽的事情。可是我的事情履历和思索,却让我对“横向生长”有了新的熟悉。

  程序员的生长,恒久以来都是各人体贴的问题。通常程序员的生长有两大偏向,深度和广度。深度生长,就是精湛自己的本事,研习新潮尖端的手艺以致学会“屠龙之术”,以绝招打遍天下;广度生长,就是拓宽自己的技术种类,好比学会更多的语言,以完成更多种类的使命。除去这两大偏向,其它能选的生长偏向似乎就只有“转业”了。

  今天我要说的固然不是转业,而是除去深度生长、广度生长之外的第三维度,由于似乎一直也没有正式的命名,以是我爽性借用“横向生长”的说法好了。

  什么是横向生长呢?举例子来说,我们写个程序,深度生长关注的是让它速率更快、资源消耗更少,广度生长关注的是让它更合适与其它模块交互,甚至用更合适的语言编写这个程序。横向生长,则是让这个程序成为真正能用的程序,而不是实验室里的玩具。换句话说,“横向生长”是让程序越发“工业化”而不是“手艺化”的生长。

  我刚最先事情的时间,有一天提前完成了使命,喜滋滋地去向项目司理汇报。不意他看了代码之后,却把我起源盖脸说了一顿:你以为你照旧学生呢,给先生写个程序算出准确效果就完?你看你处置惩罚网络毗连的部门,对服务器返回的异常信息,包罗网络传输的种种意外都没有处置惩罚,谁向你保证服务器总是返回准确信息的?谁告诉你网络传输不会意外的?万一网络断了,你的程序就一直死循环吗?……

  我必须认可他说的有原理,但也一时无可怎样。虽然在学校的时间写过不少程序,但先生都只看大致结构和效果,从没有问过“网络断线了怎么办”,也没有哪本课本专门讲过这方面的知识,以是自己一直也没想过。可是没想过归没想过,项目司理说的究竟有原理,确实只有学生才会写出在理想情况下运行的程序。于是我最先有意识地学习和思索种种异常情形的处置惩罚,以为讲求挺多,思绪也因此拓宽了不少。不久,还由于这方面的事情获得了项目司理的表彰,也深刻感受到“横向生长”确实解放了自己。

  厥后换了份事情,我原来以为自己之前的履历可以被人欣赏,却发现自己完全想错了。新事情对程序的要求更高、应用场景更严苛,只思索在程序内部怎么处置惩罚异常是不够的,还需要确保程序的连续运行,其运行状态连续可以记载、监控、剖析,泛起问题必须能在第一时间判断症结(而不是汇海IDE去debug)……为了做到这一切,既需要专门开发程序去监控自己的程序,又需要让原有程序能够被利便的监控,还不能泄露不须要的信息,以是在设计时又有更高的要求——固然,这些知识仍然是书上没有的。我写到最后才发现,虽然焦点的功效并没有变庞大,但为了保证焦点功效的稳固运行,程序自己的庞大度却上升了许多。这种要求,颇有几分类似小朋侪的“横向生长”——可是小胖墩的重心终归要稳一些嘛,以是我把对程序员的这种要求称为“程序员的横向生长”。

  或许是从事情最先就有时机重视“横向生长”的缘故,以是我恒久以来并不以为这是严重的问题。厥后的见识却刷新了我的熟悉:曾经有朋侪告诉我,海内互联网行业某新兴领域排名三甲的公司,竟然连自己的服务器上跑的哪个版本的程序都不知道,最先我还当是笑话,厥后才知道事实认真云云。小朋侪的“横向生长”不讨人喜欢,许多程序员也忽视甚至厌恶“横向生长”,以为这是在给自己找贫苦,他们以为,把焦点功效写完,代码提交,往服务器上一扔,自己的事情到此为止了。至于其它方面,那就是系统治理员要处置惩罚的了。

  若是你认真回忆,一沈阳小程序设计定见过许多这样的程序:完全不处置惩罚意外情形,种种异常一股脑交给操作系统行止理,我甚至见过噤若寒蝉把所有异常都吃掉,冒充没事继续运行的系统。也见过许多这样的程序:自动发送邮件的程序,不知道自己天天发了几多封邮件,消耗了几多流量,等到用户收不到邮件才知道出了问题;备份数据库的程序,不会记载每次备份的最先时间、竣事时间、备份文件巨细,直到硬盘满了才发现已经良久不能正常备份了;抓取数据的程序,不知道抓取的乐成率、速率、消耗的流量,非要营业部门说数据良久没更新了才知道抓取失效了…… 实在这些功效通常都不庞大,但完成它们的程序,不管什么平台,什么语言,就是做不到稳固。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。