程序员请改掉影响你升职加薪的36个坏习惯!

简介:

75de2dcc85a4b6269282286eb0cb56a15ed31904

IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的“程序金刚”,但是一位普通程序猿如何能够蜕变成代码金刚呢?

下边总结了导致程序猿效率低下,影响大家升职加薪的36条不良习惯,总的来说归为代码组织、团队工作、写代码、测试与维护四大类。

一、代码组织


1、总是说“一会弄好”,但从来不兑现,拖延症晚期。缺乏任务管理和时间管理能力。

2、坚持所谓的高效、优雅的“一行代码流”,事实上,可读性才是最重要的,聪明是第二位的。

3、无意义的优化或者过度优化。(类似网页大小之类的优化最后再做)

4、不注重代码样式和风格的严谨,尽量要和自己的团队保持风格一致,团队代码风格不好的建议及时提出自己的建议。交接别人代码的时候认为别人写的是一坨屎,然后自己写的又是另一坨屎!

5、使用无意义的命名,禁止任何a、b、c变量出现,魔法值坚决反对!

6、忽略经过验证的最佳实践(例如代码审核、TDD、QA、自动化部署等),异常动不动就用Spring MVC提供的AOP方式去拦截,完全不顾性能和代码可读性。

7、给自己埋雷。(例如使用不会报错的库或者忽略例外)

二、团队工作


8、过早放弃计划。

9、坚持一个无效的计划。

10、总是单打独斗。(必须强迫自己与团队分享进度和想法,避免错觉,提高效率)

11、拒绝书写糟糕的代码。(日程紧迫的时候可以写一些“糟糕”的代码,这是程序员的能力而不是bug,当然,有时间的时候一定要回头偿还“技术债”)

12、抱怨他人,认为别人是菜鸡,带着情绪的和对方沟通交流。

13、不与团队分享所学。

14、向主管/客户反馈的速度过慢,不能做到及时主动。

15、不会充分利用Google。大家都很忙,没有人会义务的帮助你,有问题尽量自己先尝试着解决。

16、看重个人编码风格,认为自己的代码风格是最牛逼的,

17、带着个人情绪看待他人对自己代码的评论和注释。代码review的时候往往不能虚心接受别人的建议。

三、写代码


18、不懂优化策略,写出来的代码只能是算可以运行,完全不考虑性能和健壮性。

19、使用错误的工具。

20、不追求对开发工具和IDE的精熟。

21、忽略报错消息。完全不考虑代码的健壮性。

22、迷恋称手的开发工具。(不同类型的开发任务需要匹配对应的最佳开发工具,例如Sublime适合动态语言,而IDEA适合Java,如果你喜欢vim,并不意味着能用这些工具干所有事)但尽量和要团队的其他成员保持一致,比如别人都用IDEA,你还用着Eclipse,当然你能说服他们使用Eclipe还是可以的

23、不注重代码中赋值的可配置性。(不养成把代码中的活动部件分离出来的习惯,会导致技术债暴增)

24、喜欢重新发明车轮。那些每天加班到晚上11点的程序员都是在重复造轮子吗?

25、盲目地剪切/粘贴代码。

26、应付差事,不求甚解,不花时间搞清楚项目运作的机理。

27、对自己写的代码过度自信。交接别人代码的时候认为别人写的是一坨屎,然后自己写的又是另一坨屎!

28、不去考虑每一个设计、方案或者代码库的“副作用”。一个成功的用例并不意味着“万灵药”,要从自己的业务出发。

29、在一个地方卡住了但坚持不呼救。(认为自己很帅!)

四、测试与维护


30、只去写能通过的测试,不会写单元测试或者不注重写单元测试。

31、重要项目中忽略性能测试。

32、不去核实代码是否真的可用,没有养成开发中及时快速测试的习惯。

33、重大改动延迟推送。

34、抛弃和逃避自己的代码。

35、忽略其他非功能性需求。(例如安全和性能,准备一份这方面的清单,忽略这些会毁掉你的所有成果)

36、缺乏学习的动力,不能终身学习,时间久了,跟不上新技术的发展,也相应的会被淘汰。


原文发布时间为:2018-11-21

本文作者:全栈开发者社区 

本文来自云栖社区合作伙伴“全栈开发者社区”,了解相关信息可以关注“全栈开发者社区”。

相关文章
|
5月前
|
人工智能 自然语言处理 API
TokenPlan是什么?阿里云百炼Token Plan详细解析:Credits计费、模型生态、省钱技巧与配置指南
随着AI大模型在团队协作、研发编程、内容创作、智能体开发等场景深度渗透,企业与开发者对大模型服务的诉求愈发清晰:**预算可控、调用稳定、多模型兼容、数据安全、易于管理**。阿里云百炼平台面向团队与企业场景推出的**Token Plan团队版**订阅服务,正是为解决这些核心痛点而生。它以**Credits统一计量**为核心,打通文本生成、图像生成、多模态理解全品类模型,兼容主流AI编程与智能体工具,提供三档包月坐席、团队权限管理、高峰期不降速、数据不用于训练等企业级能力,让团队在固定预算内高效、稳定使用AI大模型,彻底告别按量计费的账单焦虑与传统套餐的功能局限。
2647 7
|
存储 资源调度 Java
计算机基础(1)——计算机体系结构和组成
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。 在过去的几十年里,计算机科学经历了令人瞩目的飞速发展。经历了电子管、晶体管、集成电路的世代发展,体积越来越小、性能越来越强,为人类带来了巨大的便利和变革,下面我们来回顾计算机的发展历程。
4043 5
计算机基础(1)——计算机体系结构和组成
|
iOS开发 MacOS
Apple iWork (Pages、Numbers、Keynote) 14.4 - 文档、电子表格、演示文稿
Apple iWork (Pages、Numbers、Keynote) 14.4 - 文档、电子表格、演示文稿
460 1
Apple iWork (Pages、Numbers、Keynote) 14.4 - 文档、电子表格、演示文稿
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
1045 8
|
机器学习/深度学习 编解码 自然语言处理
视频字幕生成案例
8月更文挑战第3天
1324 0
|
分布式计算 监控 数据挖掘
云上游戏数据分析实践
数据分析和游戏的生命周期与盈利息息相关,同时数据分析对游戏的运维也起到了至关重要的作用,精确的数据分析可以延长游戏的生命和帮助其盈利。本文针对游戏行业的数据特点,结合游戏数据分析的现状,对数据分析上云的技术选型、结合数加大数据计算服务MaxCompute(原ODPS)、SLS、RDS、DPC等产品和
6334 0
|
存储 数据处理
二进制是干什么的?如何才能学好二进制?底层原理是什么?
二进制是干什么的?如何才能学好二进制?底层原理是什么?
1023 0
|
编解码 网络协议 编译器
QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
1573 0
QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
|
存储 运维 监控
SLS:海量日志数据管理利器
日志是大规模集群管理系统中非常关键的部分,服务器上的各种日志数据可以帮助我们回答如运维、开发、运营、客服、安全等问题。SLS提供一个从日志采集、过滤、处理、聚合到在线查询的日志处理平台,满足各种日志处理分析需求。本文以用户选用SLS搭建一个端对端的日志服务为例进行详解,并解析其功能背后的技术架构。
12966 1