这五年的 6 个编程感悟!

简介: 没接触编程之前,总觉得它很神秘,很牛逼。每当有新的系统,新的软件出来时,总想冲在前头,然后 down 下来好好体验。后来加入了程序员大军,才发现编程并非想象中的那么美好,经常要面对**完成不了**的需求,和**背不完的锅**,真的是一部**辛酸**编码史。尽管如此,我们的工作也算是在为机器注入**灵魂**,还是挺高大上的。只是很多时候不得不面对一些残酷现实,下面就来聊一聊这几年的编程感悟吧!

前言

没接触编程之前,总觉得它很神秘,很牛逼。每当有新的系统,新的软件出来时,总想冲在前头,然后 down 下来好好体验。

后来加入了程序员大军,才发现编程并非想象中的那么美好,经常要面对完成不了的需求,和背不完的锅,真的是一部辛酸编码史。

尽管如此,我们的工作也算是在为机器注入灵魂,还是挺高大上的。只是很多时候不得不面对一些残酷现实,下面就来聊一聊这几年的编程感悟吧!

1、 bug 是修不完的

不知各位猿友有没有这样的体会:每当周五临近下班时,测试总会向你扔来一大堆的 bug 工单。

而就在你以为所有的 bug 都解决完后,回过头象征性的验一验之前的接口时,突然发现,他妈的又不正常了。

这种感觉就像按下一个葫芦,起来一个瓢,以为解决完了,才发现只是自己以为。

那为什么会一直修不完呢?一方面是因为程序它就像一个精密的机械手表,很多地方都是有关联性的。

当你要改动一个地方的时候,往往得把它所有的关联点都得考虑一遍,有点像深度优先遍历。可想而知,一旦系统复杂,那大多时候我们也只能是走一步看一步。

另一方面只要我们的系统还有用户在使用,那就会有改动,特别是对于三天两头加需求的互联网行业来说,这更是家常便饭。

在这么高频率的改动下,设计得再好的系统也经不起折腾。就好像一辆高速运动的跑车,还总想着给它换零件一样。

所以大伙看那些成熟的开源框架,都有属于自己的一个发布计划,而且都是相隔几个月的那种。

可想而知:减少需求是多么的重要!

2、if else 就是我们的日常编码模式

想象一下,如果没有了 if...else 那我们的程序会怎么样?是的,一切都糅合在一起了,再也不能愉快的进行流程控制了。

正是因为有了 if...else,让我们能以贴近生活的方式去划分代码逻辑。

可以说 if...else 在程序里无处不在,甚至一敲代码,我们就会自动联想到 if...else 所要对应的业务线,多么的浑然天成!

3、过早的优化,不是优化

以前遇到过一个同事,总喜欢开口闭口就谈拓展性预留,说哪个场景有可能会用到,所以要提前预留下。

可实际上到了后面的开发,80% 的概率是没有再用到这些优化点的了。相当于将精力花在了没有发生的事件上。

其实,这也能理解,因为产品经理总是动不动的改需求,而作为一名优秀程序员的我们,总想提前预判这些改动点,以最小的代价完成修改。

可实际在项目刚开始的时候,是属于一个不稳定开发时期,会存在很多变数。

如果过早的优化,比如添多余的数据库字段,划分很细的服务等这些对未知场景的优化,其实意义并不大。

过早的优化,不是优化,真正的项目痛点不会在一开始就暴露出来,等我们被项目完整的虐过一回,到时也就自然而然的知道该怎么优化了。

4、大多数项目就是在增删改查

现在的互联网项目其实就是在将生活数字化,数字化的过程肯定是需要和数据打交道。

所以,大多数项目其实就是在解决数据从哪里来,又回到哪里去的问题。

至于这中间采用了什么技术方案,也只是解决手段不同而已。最终还是得落到对数据处理这一终极目标。

而对数据处理肯定逃不过增删改查,这也是很多项目存在的意义!通过不断的对数据加工处理,呈现出更贴近我们生活的虚拟世界。

5、一人挑起一款产品的时代已经过去了

互联网行业发展到现在 20、30 年了,从仅限于专业人员使用,到现在的应用普及。可以说用户已经从原来什么都不懂的小白,升级为资深体验家了。

而在此期间所诞生的优秀产品,已经和用户深深绑定了,想要靠我们个人去扭转用户的使用习惯,基本不可能,更别说有可能遭到大企业的狙击。

所以,想要独自开发出一款现象级产品,真的难如登天!就像错过了 80, 90 年代下海大潮一样,我们已经很难再撼动这个成熟市场了。

当然,互联网的繁荣发展也为我们这些后来者奠定了基础,定制了很多标准化框架,像 TCP、HTTP 等,
也算为我们的开发工作提供了很多便利。

6、程序员真的发际线高!

最后,我们来说一说程序员最最残酷的真相。没错!就是我们那瓦亮瓦亮的额头。那是高级程序员的象征,是办公室里最靓丽的一道风景!

相信只要我们好好努力,总有一天,都会达到这个境界!≥Ö‿Ö≤

总结

以上就是这几年编程生涯的感悟,欢迎大家一起分享!

相关文章
|
10月前
|
算法
人为什么要努力?编程、学习之路…很迷茫?个人经验分享
人为什么要努力?编程、学习之路…很迷茫?个人经验分享
|
12月前
|
程序员
程序员成长第四篇:程序员的职业天花板
程序员成长第四篇:程序员的职业天花板
103 0
|
前端开发 Java
人生不止技术之我的“转行”经历
人生不止技术之我的“转行”经历
167 1
人生不止技术之我的“转行”经历
|
Web App开发 程序员 Android开发
|
Java 数据库
编程从业五年的十四条经验你掌握了吗?
排列不分先后:   1. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。
954 0
|
Java 程序员 iOS开发
程序员如何成为IT界的大牛,然后并创业发家
企业到底需要什么样的程序员,一个刚入门的程序员如何成为企业需要的高手呢?还有很多程序员问我,“我需要具备什么样的能力就可以去创业?”我一直在琢磨类似的问题,仔细总结了如下五点建议与所有程序员分享。
2430 0
|
Linux 程序员 云计算
致敬程序员日,盘点云计算的天才程序员
本文讲的是致敬程序员日,盘点云计算的天才程序员【IT168评论】今天是程序员日,在这个特殊的日子里笔者为大家盘点几位云计算技术背后的天才程序员。在过去的大半个世纪中,计算机科学界涌现出了一批不世出的天才:阿兰·图灵(Alan Turing)、高纳德(Donald Knuth)、艾兹赫尔·戴克斯特拉(Edsger Dijkstra),这些振聋发聩的名字背后是建立了彻底改变人类生活的现代计算机工业,这些人的影响力是如此之大,不但改变了整个世界,同时也赢得了全球的尊重。
1578 0