猪一样的程序员队友的招牌特质

Quora 上看到一篇不错的文章,原文为 What are the characteristics of a bad software engineer?




以下为笔者翻译的版本,在 Quora 的授权条款下,译文采创用 CC 4.0 姓名标示授权,转载请注名原文出处及译者姓名。原作保留收回授权的权利。


以我个人的经验,糟糕的程式设计师具有以下这些特质:


1.Stack Overflow 机器人:这种人遇到问题时,会灵活地使用 Google 搜寻,并采用所找到的第一个结果(按:好的答案通常在 Stack Overflow 上)。


问题不在于从 Stack Overflow 上抄答案回来用,因为 Stack Overflow 上面的资料确实比多数官方手册来的丰富与完整。所以请不要误会我的意思,上网找答案就算不是最棒的途径也属上上策。问题在于不加理解就机械化地采用网路上的答案,甚至也不管适不适用于自己的问题。许多人居然会觉得论坛上的说法比他们眼前的程式码更可靠。


2.我不是测试人员:我不需要测试自己的程式码,那是测试人员的工作。


我不认为这种态度在这个敏捷开发方法成熟的时代已经式微。还是有一些原因造成他们不愿改变习惯去测试自己的程式码。其中一部分来自于对设定测试环境没有兴趣,另一部分是对测试这门学问没有通盘的认识。(还有一部分是开发人员社群对测试人员存有不便明说的轻蔑。)


3.讨厌手册:有些人好像认为手册必须要押韵,而他们没有那种文学素养,所以那自然不会是他们的工作。


一点浅见:这是活跃的程式计画的头号敌人。好的程式不是那种酷炫功能多如繁星的,而是那种具备一些多数人需要的好功能且程式码持续被许多开发人员阅读、修改和更新的。这类不喜欢技术交流和精确、详尽的手册的开发人员,是公司迈向成功的最大阻力。


4.程式码很丑:我的程式码可以跑,但是:


这一项是最令我困扰的。也不是说程式写得不好啦,这裡面还是有可能会有超猛的程式码。但我打个比方,如果一串钻石项鍊挂在像酷斯拉那麽大的超巨型噁心怪虫的尸体上被埋葬于地底,就再也不会有人找到它了。就算被找到,也不会有人想要清理它甚或戴上它。


  1. 我喜欢为变数取名叫 x、flag、str、arr 等等。

  2. 我绝大多数的程式码都集中在一个很长很长的函式裡。

  3. 没有缩排。

  4. 没有一致的风格和规则。

  5. 到处都是全域变数。


5.短线投机客:他会不断地写出程式给你,但是不会尝试深入瞭解问题,对程式应用领域的背景知识也全无兴趣。


给他一些工作,他就算加班也会使命必达地交给你一个会动的程式。但也仅止于此。有时候开发人员具备一些自私的心态,促使他不只关心截止日期,也想从处理的事物中学到东西是很重要的。


6.切割达人:

「那不是我做的。」

「这看起来真糟糕。」

「不是我的问题。」

「这不是我修改的程式码造成的问题,而是用到我的程式码的人没写对。」

「我超讨厌这个(一天要讲十遍)。」

「这我修不好,请去把写这程式的人找来亲自处理。」当初写出错误的人已经离职了,不知道什麽时候会轮到你?


7.夜郎自大:「我的方法」或「这才是王道」是他们的座右铭。


但他说来说去都是在比较他的想法和你的想法,而不是这个案子的规格。不然就是拿你的解法和他的解法做比较,随之而来的就是彼此间的争论。有时候他们会一直不断挑剔你的程式码,因为就算你的程式码会动、通过测试、看起来也很工整,仍旧令他们感到不舒服。这种人是开发效率的瓶颈,而且通常抗压性很差。他们对团队其实没什麽帮助,虽然他们很可能是资深的开发人员。


8.固步自封:例如当 Java 的程式设计师听到必须要用 Python 来写一支程式,马上就会石化给你看。


有些人对于学习新事物感到很痛苦,有些人则很怕写东西进资料库。他们会用尽一切方法来避免离开自己的舒适圈,此外有些迷信也使得他们不敢碰某些特定领域的东西。以我自己的经验来说,这种现象在新手中是很常见没错,但一个好的开发人员即便在他们不熟悉的领域也乐于探索。


9.粗心:忘记备份、同一个案子的程式码有很多版本分别放在不同的资料夹、在产品版本的程式中印出开发用的除错讯息等等。


这是另一个常见的新手现象,在他的经验值提高后就会有所改善。


10.懒惰的假高手:他们对能够透过一些特殊的技巧让程式运作感到自豪,会用一些神奇的方法来解决看起来很複杂的问题。


不过根据我的经验,这些招式十有八九都只是化妆术。那些怪招都嘛很烂,因为不知道什麽时候会爆炸,而且之后在修複、重构上花的时间会比现在一次做好还要多。


来源:murmuring-on-the-air.github.io

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值