程序员你为什么这么累?
首先感谢作者的分享,原文
大家一提到程序员,首先想到的是以下标签:苦逼,加班,熬夜通宵。但是,但凡工作了的同学都知道,其实大部分程序员做的事情都很简单,代码CRUD可以说毫无技术含量,就算什么不懂依葫芦画瓢很多功能也能勉强做出来,做个多线程并发就算高科技了,程序员这行的门槛其实还是比较低的。(这里说的是大部分,有些牛逼的,写算法、jvm等的请自动跳过)
是不是觉得很矛盾,一方面工作不复杂,一方面却累成狗。有没有想过问题出在哪里?有没有想过时间都花在哪里呢?
对于我个人来说,编码还是一个相对轻松的活(我是负责公司it系统的,没有太多技术含量,数据量大,但并发量不大)。从工作到现在,我加班编码的时间还是比较少的,我到现在为止每天还会编码,很少因为编码工作加班。
大家写的东西都是一些crud的业务逻辑代码,为什么大家这么累,加班加点天天都是奋斗者?我从自己带的项目中观察中发现,大部分人的大部分时间都是在 定位问题 + 改代码,真正开发的时间并不多。定位问题包括开发转测试的时候发现问题和上线后发现问题,改代码的包括改bug和因为需求变动修改代码(后面专门开一贴说如何应对需求改动)。
所以说,simple is not easy。很多人就是因为觉得简单,所以功能完成自己测试ok了就算了,没有思考有没有更加好的方式。归根到底是因为编码习惯太糟糕,写的代码太烂,导致无法定位频繁修改频繁出问题。(后面我会详细讲一些我看到的大部分的编码问题。)
其实,对于个人来说,技术很重要,但是对于工作来说,编码的习惯比技术更加主要。工作中你面试的大部分技术都不需要用到的。工作中,因为你的编码习惯不好,写的代码质量差,代码冗余重复多,很多无关的代码和业务代码搅在一起,导致了你疲于奔命应付各种问题。
所以我作为SE(系统架构师),不管接手任何项目组,第一步就是制定代码框架,制定项目组的开发规范,把代码量减下去。事实上证明,这一步之后,大家的代码量能下去最少1/3,后台的问题数下降比较明显,大家的加班会比之前少。
给大家一个直观的例子。下面是controller的一个删除数据的接口,我来之前大家写的这个样子的(其实一开始比这个还差很多),功能很简单,输入一个对象id执行删除返回是否删除成功。大家有没有觉得有什么问题?
其实上面的代码也没有大问题。而我接手之后,我会开发自己的代码框架,最后制定代码框架交付的代码如下(这是controller的部分):
用到的技术就是AOP,也不是什么高深技术。怎么样?代码量就一行,特性一个都没有丢。这就是我们项目组现在的controller的样子!(如果恰好有我带过的项目组的人,看到ResultBean<>应该很熟悉应该知道我是谁了) , 所以说技术无所谓高低,看你怎么样用。
上面的代码简单说一下问题:
(1) 第一,lang和业务没有什么关系,我后面的代码框架去掉了(不是说我后面的代码没有这个功能,是把他隐藏起来对开发人员透明了,使用的技术就是ThreadLocal)。
(2) 第二,前面那个代码,实际上干活的就只有一行,其他都和业务代码没有一毛钱关系,我的代码框架里面完全看不到了。
使用的技术真的很简单,但是编码效果非常好,因为大家不要因为使用的技术初级就觉得不重要!!使用这套框架后,大家再也不需要大部分时间都写一些无聊的代码,可以有更加多时间学习其他技术。说实话,在我项目组的开发人员都是比较幸运的,觉得能学到东西,不是像其他项目组,写了几年都是一样的CRUD代码,虽然我比较严厉,但是还是愿意待在我项目组,毕竟加班比其他项目组少啊。
这就是我说的工作中,编码习惯(或者说编码风格)比技术更加重要。我工作了也有很长时间了,我觉得我个人价值最大的地方就是这些,技术上其实我懂的也和大家差不多,但编码上我还是觉得可以超过大部分人的。后面我会把我们这些业务系统中大家编码的问题一个一个写出来,并把我的解决办法分享出来。
初定议题如下:
-
参数校验规范
-
工具类规范
-
函数编写建议
-
配置建议
这些规范不是网上的哪些编程规范,说实话哪些又长又繁琐,实践中证明很难落地,我这里的规范都比较少,一针见血,你看了便知。敬请期待!
相关推荐
### 良好的编码习惯 在软件开发领域中,良好的编码习惯对于提高代码质量、增强程序可读性和可维护性至关重要。本文将基于提供的部分文件内容来深入探讨一系列优秀的编程实践,帮助开发者培养健康的编码习惯。 ####...
在Python编程领域,保持良好的编码风格和遵循标准是至关重要的,因为这直接影响到代码的可读性、可维护性和团队协作效率。"Python-一个高品质编码风格习惯和标准清单列表"是一个宝贵的资源,旨在帮助开发者形成优秀...
### 经典C语言编码规范提高编码效率必备 ...良好的编码习惯不仅能提高个人的工作效率,也能增强整个团队的合作效果。希望本文提供的C语言编码规范能为读者带来帮助,提升编码水平和项目管理能力。
### Flex SDK 编码习惯和...综上所述,遵循Flex SDK编码习惯和最佳实践,不仅能够提升个人编码技巧,还能显著增强团队合作和项目质量。通过实施上述指导原则,开发者可以构建出更加专业、高效且易于维护的Flex应用。
本文将深入探讨C#中的命名规范和编码习惯,帮助开发者养成良好的编程习惯。 首先,命名规范是编程中的一大关键。在C#中,应遵循以下原则: 1. 类型和方法名采用PascalCase(首字母大写)命名法,如`TextBox`和`...
在软件开发过程中,良好的编码习惯对于提高代码质量、增强团队协作效率以及维护项目的长期稳定性至关重要。下面将详细解读C#编程中的一些重要编码规范与建议。 #### 避免将多个类放在一个文件里面 通常情况下,一...
### .NET编码最佳实践解析 #### 一、增强代码可读性和维护性 ...综上所述,遵循这些.NET编码习惯可以显著提升代码的质量、可维护性和性能。开发者应时刻关注代码的效率和可读性,不断优化编码实践。
本篇将详细介绍一些重要的C#编码规范和编程好习惯,帮助您提升代码质量,提高开发效率。 #### 二、命名规范 命名规范是编码过程中最基本也是最重要的部分之一。正确的命名不仅有助于代码的阅读和理解,还能提高团队...
良好的编码习惯包括但不限于代码风格统一、注释清晰、结构合理等。这不仅便于代码维护,也有助于团队协作。比如,遵循一致的命名规则,可以使代码更易读;编写有意义的注释,帮助他人理解代码意图;保持代码结构清晰...
C#是一种广泛使用的面向对象的编程语言,遵循良好的编程习惯能极大地提高代码的可读性、可维护性和团队协作效率。以下是一些关于C#编程的良好习惯,它们可以帮助你更好地编写高质量的代码。 1. **类与文件组织**:...
接下来,我们关注"良好的编码习惯.txt"。这个文本文件很可能是对编程实践中一些具体细节的指南,可能包括以下内容: 1. **注释规范**:提倡在关键位置添加注释,解释代码的目的和工作原理,但也要避免过度注释。 2...
标题中的“程序员的45个良好习惯”是一个旨在提升编程技能和团队协作效率的指南,描述强调了通过培养良好的习惯来提高自身编程水平,成为优秀的程序员。这些习惯涵盖了态度、学习、开发流程、用户、编程、调试和团队...
本文将深入探讨C#中的编码规范与良好编程习惯,旨在帮助开发者提升代码质量和团队协作效率。 #### 命名惯例与规范 **1. Pascal Case(帕斯卡式命名)** - 类名使用Pascal Case,即每个单词首字母大写,其余字母...
在IT行业中,C++是一种广泛使用的编程语言,尤其在企业团队开发中,遵循一定的编程规范至关重要。这不仅可以提高代码的可读性...在实践中不断学习和调整,将这些规范融入到日常编码习惯中,是每个C++开发者必备的素养。
综上所述,提升C#开发效率需要结合良好的编程习惯、利用强大的工具、遵循最佳实践以及不断学习和适应新技术。通过这些方法,开发者可以显著提高工作效率,降低项目风险,为软件开发带来显著的效益。
总之,Nvivo12自动编码语言包是提升定性数据分析效率的重要工具,尤其适用于处理半结构访谈数据。通过自动编码,研究者能够快速有效地整理和理解大量文本资料,从而更好地探索隐藏在数据背后的深层含义和趋势。因此...
这份编码规范文档,旨在帮助程序员理解和实践良好的编程习惯。 编码规范的核心目的是提高代码的可读性、可维护性和可扩展性。首先,命名规范是非常重要的,包括变量名、函数名、类名等,应遵循一致性、简洁性和描述...
【良好的SQL编码风格】在SQL编程中,编码风格起着至关重要的作用,它直接影响到代码的可读性、可...在实际编程中,应培养良好的编码习惯,遵循一定的规范,使SQL语句既简洁又清晰,从而提高数据库操作的效率和准确性。