0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员的十大编程禁忌

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-09 16:27 次阅读

程序员编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。

程序员在编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。这就是我们如何将小麦从糟糠中区别出来以及如何避免编程禁忌的绝佳经验。此外,最重要的就是可以为客户带来更好的用户体验。

1. 不提升非技术技能

我们认为非技术技能是项目成功的主要因素。这些非技术技能也可以称之为“软技能”,总体上来说,它已经被公司证明为能够驾驭企业和客户之间的长期商业关系,因此也能决定公司的成长发展路径。一些关键的软技能指标包括:

a.纪律——这是最重要的特征之一,缺乏纪律,最终会让这个开发团队在开发能力上“缺乏自信”。解决这一问题的矫正方法就是每天制定详细的to-do清单:兑现你的承诺、完成你开始做的事情、避免多重任务,因为这些往往会让你的生活产生混乱。

b.顾客的声音——不把客户置于决策的核心地位只会跟你们业务的原始目的相冲突。如果客户不高兴,即使你拥有世界上一流的专业知识和资源也不会起什么作用。保持符合客户期望的解决方案、及时交付才能体现出项目的真正价值。

c.沟通——尤其是当客户和供应商并不在同一地点的时候,明确而及时的沟通是填补服务空白的极好措施。主要集中在这三个方面你就能克服问题——进行主题讨论、清晰表达、干脆简洁。

d.了解需求——在整个开发生命周期过程中,决定成功和失败的之间的一个至关重要的区别将会给人留下深刻的印象。通过最初的头脑风暴法了解问题状态,以及后续的交货程序,这其中都要和客户完美配合。只有这样,客户才会赞赏你的工作,给你好评。

2. 对编码不理智

古人云:善泅者溺,善骑者堕。但估计绝大多数的程序员都认为自己的编程技术绝对的牛。而同样真实的是,每一个代码,让不同的程序员去实现的话都会不可避免地发现它所存在的缺陷。所以说,只有通过在一个项目上的合作,程序员之间必然有的摩擦才能证明谁是最好的。健康的竞争是好事,但它不应该成为一个本来可以成功的项目的负担。

另一个创意阻碍是无法将预定义的模板使用在对你有利的开发项目里。几乎所有的编程语言有一个很好的在线/内置的代码片段存储库,可以修补代码,防止重新编程。然而,如果因为不理解需求或缺乏接触各种可用库/模板的话,这就意味着程序员最终会无意间将一开始就创建的代码付之东流。这不仅增加了开发时间,也提高了总体成本。另外一点就是,发布了的代码已经经过了质量检测,所以只有将它用作模板才能发挥它更大的价值。

3. 不一定什么都要被理解

如果你是刚调到这个团队来的编程人员,对于手头的工作并不是很熟悉,那该怎么办?肯定是先看一些前任留下来的工作计划,要是他写的详细倒也没什么,如果写的不详细,估计会让你更加的挠头。

因此,推己及人,在需要交代的工作上,最好是把任务写的尽可能的详细。这么做也是非常现实的原因:能够把编程问题解决掉,最好是保证使用解释性的语言和英语发音来表示变量。一些基本的指针可以让你的程序更容易被理解,包括:

a. 把所有参数、引用、方法和变量名称尽可能接近英语表达。保持文件名简短但有助于理解的功能。

b. 使用++包装文字是一个好办法,能让代码和注释更加清晰。

c. 将编写的程序保持在一个连续的流程上,尤其是在使用OOP基础上的语言:C#、C 和 C++

d. 对于不同的代码块使用不同的描述名称。

4. 不使用经过验证的工具和技术

程序员的好坏从他使用的编程工具和调试工具上就能看出。在异常情况的跟踪上,下面就是程序员经常会出现的常见错误。

对一些可能会对其它代码有影响的常见案例进行捕捉,处理这些比较常见的异常情况(而不是特殊的异常)意味着无意中除除掉了会抑制整个程序的残留部分,因此并不会影响他人的代码。

也许程序员可能带有恶意的意图来捕捉所有的异常情况,但即使是捕捉到了也不实施采取措施,这就是常说的“虚假安全阀”,这种异常处理手段是对整个软件的稳定和安全的一种妥协方式。

5. 较差的控制版本

在任何涉及多个团队的项目里,当谈到版本控制的时候不去介绍使用最佳实践都是一个十足的罪过。版本控制的目的是确保由一个人执行的编辑或修订不去影响另一个人的工作。

版本控制不仅有助于将由两个或两个以上的程序员的编辑工作合并到一起,还有助于跟踪程序的更改历史。所以说,任何开发团队都应该做一些好的改进措施以确保强大的版本控制,这其中就包括:

为每个解决方案创建一个“逻辑单元”

给解决方案制定描述性的名称

确保你所使用的都是最先进的文件

频繁的向团队分享你所做的各种改变

6. 拥有最新信息的个人代表不了团队

这是相对有趣的一点,所有的商业产品都想要以自身的敏捷技术和产品文化来给客户留下深刻的印象,但是现实中很少有厂商会花时间去磨练他们员工在介绍产品特点上的技能。许多公司只是简单地提供了一些基本的培训,并且抱希望与员工在真实的日常项目里学到更多的技能。所以部门经理和项目的直接领导可以通过以下两个办法来提高员工的业绩:

一旦有新员工加入,就立刻强制安排他参加专业培训,让他知道他的角色是用来干什么的,尽早产生创造力。例如一个测试人与加入之后,就应该向他介绍编程的理念,之后将培训重点放到测试实践上,而不是继续阐述编程的重要性。

现阶段的技术的进化程度比以往任何时候都要快,,所以要记住,定期培训是必不可少的,这是在给团队创造价值。例如一个Web 设计师需要知道响应式设计,提供给设计师大量的用户日常使用的移动设备的不断扩张的样品,希望他们能获得灵感。

7. 不恰当的测试

测试作为整个系统开发生命周期(Systems Development Life Cycle,简称SDLC)的重要一个要素,通常不需要开发团队给出太惊人的结果。但是如果在测试环节没有付出恰当的、相应的努力的话,这是说不过去的。下面的一些方法或许对你的测试团队有用,至少在你们交付产品的时候能够给用户一个好的交代。

单元测试

实物模型

综合测试

8. 注意安全漏洞

有的时候在软件开发过程中,就会遇见如下这样的安全漏洞:

A、不同组件之间意想不到的交互作用:a、输入不正确的验证信息;b、SQL资料隐码攻击;c、跨网站指令码;d、命令植入攻击;e、跨站请求伪造(CSRF);

B、难以实施的资源管理,包括:a、不尊重可用内存缓冲区;b、对外控制;c、使用有潜在危险的功能;

9. 和客户交流

最初的合同签订后,开发公司通常会忘记每天与客户进行产品上的信息交互,以至于在交货的时候还需要进行升级。两大关键的交流点可以让你和客户保持更好的、更长的关系:

在客户开问之前,开发方应该和客户进行交流沟通。

和客户保持周期性的交流。

10. 避免标准实践面临的迫在眉睫的最后期限

通常情况下项目都会遇到进度延误的现象。然而,这不是说你有理由去偷工减料或者是在开发或测试阶段耍花招,未经测试的模块绝对是一个隐患,会让你的开发团队名誉受损的。一个更好的方法来管理延迟是提前告知客户并且积极执行延迟计划。只要延期的理由是有效的,客户应该会理解,也会给你额外的时间来解决这个问题。

显然,在项目的最后期限内,急急忙忙完成编程的质量肯定不是特比保险,所以在交付之后开发团队整体上会花更多的时间和努力来进行跟踪维护,这样的成本也是很巨大的,最好的办法就在一开始就制定完美的执行计划。项目再造所耗费的资源或许是项目本身的成本的好几倍,任何一个公司宁愿花更多的时间在初始开发上,这样最终的产品一定会符合SDLC标准,并在缺陷和不良问题上有足够的话语权。对于顾客来说,时效性不能以牺牲质量为代价,永远都不能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93731
  • 程序员
    +关注

    关注

    4

    文章

    952

    浏览量

    29804
收藏 人收藏

    评论

    相关推荐

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 0次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 0次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 0次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册

    机械革命发布CODE AI程序员

    近日,英特尔新质生产力技术生态大会在成都举行,机械革命作为重要参展商带来了多款明星产品引爆全场!其中更是在AI PC软件生态产品发布分william hill官网 上,Intel、智谱、机械革命三方联合发布了专为程序员设计的CODE AI程序员本,成为本次大会的一大亮点。
    的头像 发表于 11-30 10:34 382次阅读

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共
    的头像 发表于 11-08 10:17 169次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,一场
    的头像 发表于 10-25 15:42 201次阅读

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员编程爱好者,拿起你的镜头,记
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员编程爱好者,拿起你的镜头,记
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    数控程序编程通常可分为哪两大类

    编程的定义 手工编程是指数控程序员根据零件的加工要求和机床的性能,通过人工编写数控程序的过程。手工编程是一种传统的
    的头像 发表于 07-01 14:17 1121次阅读

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 411次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    PSoC™ kit59开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1系列MCU进行编程

    PSoC™ kit59 开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1 系列 MCU(如 cy8c29466、cy8c27xxx、cy8c21xxx)进行编程
    发表于 03-05 06:47

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash<b class='flag-5'>程序员</b>V3 发布说明

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 821次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13