开发效率低下?造成代码难以维护的 35 个恶习

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

近日web开发专家Christian Maioli总结了导致程序猿效率低下,代码像意大利面条一样难以维护的35条恶习(归为代码组织、团队工作、写代码、测试与维护四大类)。

代码组织

1.总是说“一会弄好”,但从来不兑现。(缺乏任务管理和时间管理能力)

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

3.无意义的优化。(类似网页大小之类的优化最后再做)

4.不注重代码样式和风格的严谨。

5.使用无意义的命名。

6.忽略经过验证的最佳实践(例如代码审核、TDD、QA、自动化部署等,推荐阅读软件开发必读经典著作:Making Software:What Really Works,and Why We Believe It)。

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

团队工作

8.过早放弃计划

9.坚持一个无效的计划

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

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

12.抱怨他人。

13.不与团队分享所学。

14.向主管/客户反馈的速度过慢

15.不会充分利用Google

16.看重个人编码风格

17.带着个人情绪看待他人对自己代码的评论和注释

写代码

18.不懂优化策略

19.使用错误的工具。

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

21.忽略报错消息。

22.迷恋称手的开发工具。(不同类型的开发任务需要匹配对应的最佳开发工具,例如Sublime适合动态语言,而Eclipse适合Java,如果你喜欢vim或emacs,并不意味着能用这些工具干所有事)

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

24.喜欢重新发明车轮。

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

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

27.对自己写的代码过度自信。

28.不去考虑每一个设计、方案或者代码库的“副作用”。(一个成功的用例并不意味着“万灵药”)

29.在一个地方卡住了但坚持不呼救。

测试与维护

30.只去写能通过的测试

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

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

33.重大改动延迟推送

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

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

本文来自开源中国社区 [http://www.oschina.net]

时间: 2024-09-13 12:11:52

开发效率低下?造成代码难以维护的 35 个恶习的相关文章

造成代码难以维护的35个恶习

<人月神话>出版以来,IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的"程序金刚",但是如何从一位普通程序猿如何能够蜕变成金刚呢? 近日web开发专家Christian Maioli总结了导致程序猿效率低下,代码像意大利面条一样难以维护的35条恶习(归为代码组织.团队工作.写代码.测试与维护四大类). 代码组织 1.总是说"一会弄好",但从来不兑现.(缺乏任务管理和时间管理能力) 2.坚持所谓的高效.

面对前端六年历史代码,如何接入并应用ES6解放开发效率

很荣幸有机会和大家分享自己在前端工作中的一些经验.更高兴能邀请我的同事颜海镜同我一起做这件事情.其实经验说不上,只是希望能更多的和大家一起交流.学习. 为什么要讲"面对前端六年历史代码,如何接入并应用ES6解放开发效率"这个主题呢?其实相信很多人认为ES6已经不再新鲜.在前端迭代迅速的今天,会不会有些"老生常谈"?我理解并不是这样的,因为很多人其实对ES6的理解主要集中在新特性.语言用法等层面上.这些内容是大部分学习者都能通过共享得到的.但是,对于ES6往往缺少了在

Asp数据库访问代码自动产生工具-ASPRunner(适用初学者和为了提高开发效率的Developer)

初学|访问|数据|数据库 ASPRunner Professional - Web Developer's Nirvana 开发效率的Developer)-初学者适用什么数位板">ASPrunnerPro是一个数据管理管理管理,在网页中使用它可以很简单的访问和操作数据库.从初中者到经验非常的程序员都可以使用它, ASPRunnerPro 产生ASP(Active Server Pages ),产生的Asp允许用户搜索.编辑.删除和添加数据到Oracle,SQL Server,Ms Acce

Xcode提高开发效率的代码块分享_IOS

前言 我们在开发的时候会用到很多常用的代码,比如UITableView的代理,一般情况下我们要么自己敲要么复制粘贴,但是Xcode有一个功能,可以用一行代码敲出你预设的一段代码.这就是Xcode的代码块功能,这篇文章跟大家分享一些常用的和自定义的代码块,有需要的下面来一起看看吧. 一.常用的: 1.strong: @property (nonatomic,strong) <#Class#> *<#object#>; 2.weak: @property (nonatomic,weak

提升开发效率-.NET应用程序开发标准化

标准|程序 通过为你的企业建立一个公共的应用程序结构框架来提高.NET应用程序的开发效率. 作者:Rao Chejarla (印度) 涉及技术:ADO.NET.ASP.NET 开发企业应用程序是个复杂的过程.你可以运用Microsoft .NET技术的许多工具来使这个过程变得更快更容易,但由于.NET的复杂性,选择最直接的方法是很难的.如果没有明确的标准和方针用来开发应用程序,企业中的每个开发小组就可能在安全.数据库访问策略和测试过程上进行重复开发.虽然每个小组都可能在这些领域中开发出有效的方法

敏捷开发中高质量Java代码开发实践

概述 Java 项目开发过程中,由于开发人员的经验.代码风格各不相同,以及缺乏 统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较 大的测试投入和周期等问题.这些问题在一个项目组初建.需求和设计均具有不 完全可预期性和完备性的全新项目中将尤为突出.本文将结合敏捷开发周期短, 变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开 发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过 程更加规范化,成就高质量的代码,减少测试的投入,并促进整个团

如何利用 Visual Studio 自带工具提高开发效率

原文:如何利用 Visual Studio 自带工具提高开发效率 Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢?   显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位.   如何显示 1. 工具 / 选项 / 文本编辑器 -> 选择对应的语言 2. 勾选 "行号"       使用书签 和平常意义的书签类似,当我们希望在日后某一时刻快速定位到一处代码时使用.比如在项目例会上,你需要演示本周你所做的一些改

【译】17个提升iOS开发效率的必用工具

[译]17个提升iOS开发效率的必用工具 2015-11-10 09:44 编辑: suiling 分类:iOS开发 来源:netguru.co 本文由CocoaChina译者@红茶魔术师-大红袍 翻译自netguru.co 原文:17 Must Have Tools to Speed up Development in iOS 作者介绍:Patryk Kaczmarek, iOS开发者 毕业于波兹南工业大学.起初从事工业制造方面的工作,但最终决定转向iOS相关的专业开发.他视工作为乐趣,而不仅

JavaScript开发规范要求(规范化代码)_基础知识

本人在开发工作中就曾与不按规范来开发的同事合作过,与他合作就不能用"愉快"来形容了.现在本人撰写此文的目的除了与大家分享一点点经验外,更多的是希望对未来的合作伙伴能够起到一定的借鉴作用.当然,如果我说的有不科学的地方还希望各路前辈多多指教.下面分条目列出各种规范要求,这些要求都是针对同事编码毛病提出来的,好些行业约定的其它规范可能不会再提及. 1.保证代码压缩后不出错 对于大型的JavaScript项目,一般会在产品发布时对项目包含的所有JavaScript文件进行压缩处理,比如可以利