成为程序界的叶问,你需要打败这十个人

  万众创新,移动互联网正在吞噬世界,开发者这个职业炙手可热的程度前所未有,而且只会越来越热门。许多人意识到这股潮流,加入写程序的行列。不过别看程序工程师坐拥高薪,这可是个强者如云、充满挑战的环境。也因如此,开发者质量的优劣判断总是在网络上引发热烈讨论。曾经在程序员客栈技术圈上就有这么一道热门的问题「糟糕的软件工程师有什么特征」,亚马逊软件开发工程师Nachiket Naik的回答颇为中肯,获得几千名网友赞同。迈向顶尖开发者的道路上,你该避免成为下列十种人。

  1.复制粘贴的人

  程序设计问答网站Stack Overflow拥有非常丰硕的资源,很多人写程序碰壁了就会上去找解答,Stack Overflow本身并没有错,它是工程师的得力助手。但是如果只是复制粘贴,改个参数,不去了解前因后果,不去弄懂为何这样的解法到底是不是真的适用于现在面临的问题,那当然很难进步。有不少工程师宁可相信他们在网络论坛看到的说法,而不愿意费心思考眼前的代码或系统。

  2.懒得测试的人

  「我不干测试这种事,那是测试工程师的责任。」即使在敏捷开发方法如此盛行的时代,这种态度依旧层出不穷。工程师不愿测试的惰性还是很普遍。有可能是他们讨厌设定测试环境,也有可能是缺乏测试的连贯性知识。当然,也或许是,测试工程师在开发者社群中总存在着不能说的污名。

  3.不写文件人

  有些人觉得程序文件(code documentation)应该如诗一般简洁美丽,他们没能力做到这样,就干脆不做了。可我认为这样的心态是软件开发的头号公敌。杰出的软件,不需要有几百万个酷炫的功能,杰出的软件,应该是要提供几个让人「离不开」不断使用的功能,而且这几个功能背后有几千个人阅读、更新、修正。轻视技术沟通、文件精确度、忽略细节的开发者,肯定是公司获得成功最大的绊脚石。

  4.代码写的非常丑的人

  我的程序能跑,但??

  有些变数被命名为x、flag、str、arr??

  Most of what I write is in one giant method.

  缺乏连贯的程序惯例或风格

  把全局变数喷洒得到处都是

  对作者来说,这简直是最恼人的事。虽然某段代码不见得差,甚至有可能是写得最好的部分。只是,如果出现上述情况,就像一条钻石项炼被埋葬在泰坦尼克号的残骸中,没人找得到它,也没人想清理它、佩戴它、使用它。

  5.没有爆发力的人

  他写程序、他部署、他继续前进,丝毫没有想要学着解决问题的意愿,只要给这家伙一段程式码,他就会没日没夜奋战,隔天就交出成果,你会得到一个修复好、能执行的软件,除此之外别无所有。有时候,选择开发者的时候你得有些私心,找个不但会在大限之前完成任务,而且也有旺盛的求知欲的人。

  6.一天到晚抱怨人

  「这不是我干的」、「这不是我的错」、「这跟我修复的部分无关,一定是有其他人搞砸了」、「这东西真的很烦!(无限循环)」、「我不知道怎么修复这边,找个会的人来啦」??

  那个犯错的人可能早就修正向前走了,你还在大肆抱怨什么劲呢?抱怨并不能解决问题。

  7.不合群顽固人

  「不照我的方法做就拉倒」,是这群人的座右铭。在他们心中,这是一场他的「点子」与你的「点子」之间、他的解决方案与你的解决方案之间的竞争,不为整个项目着想。他们会来来回回仔细你植入的代码,即使他们运作正常、经过测试、看来完美无缺,仍让他们觉得芒刺在背。这类家伙是阻碍生产力的大麻烦,在压力来袭时,他们也会是最先落荒而逃的人,就算经验再怎么丰富、技术再怎么厉害,也别轻易尝试找这些人加入团队。

  8.畏首畏尾的人

  写Java的A开发者一听到他得写一段Python 就愣住了。B开发者一听到设定档里某个部分必须改正就慌了。C开发者一听到他得在数据库里输入东西就畏缩了。这些人倾向趋吉避凶,不愿离开舒适圈。他们有很奇异的迷信,不想接触系统的某些地方。这个现象尤其容易出现在菜鸟开发者身上,出色的开发者或快或慢,都会渴望跳出舒适圈,探索陌生的事物。

  9.迷迷糊糊粗心人

  忘掉留存备份、快照存盘、一堆未归档的程序目录??这些都是菜鸟容易出的状况,随着你越来越朝专业者迈进,这些漫不经心的状况都应该避免。

  10.小聪明吓唬人

  这些人能够耍些小技俩,「骗过」系统使之运作,沾沾自喜。面对复杂的问题,他们仿佛变个魔术就能解决,但就作者的经验,10次有9次都只是表面功夫,实则漏洞百出,而且迟早都会出问题,导致后来还要花更多成本处理。

时间: 2024-11-05 13:39:26

成为程序界的叶问,你需要打败这十个人的相关文章

程序员带你学习安卓开发,十天快速入门-基础知识(四)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 本系列课程是.Net程序员学习安卓开发系列课程. 下面是前三次课程列表: 程序员带你学习安卓开发,十天快速入门-安卓学习必要性 程序员带你学习安卓开发,十天快速入门-开发工具配置学习 程序员带你学习安卓开发,十天快速入-对比C#学习java语法 为了大家系统有效的快速入门安卓开发,推荐

程序员带你学习安卓开发,十天快速入门-开发工具配置学习

上次课程:.Net程序员学习Android开发-第一课 讲到,.Net程序员学习Android开发的必要性以及对安卓大环境的相关介绍. 其中看到有网友评论,称,搞C#的去搞安卓,还怪自己的移动平台不给力.有的人说,学习.Net就学.Net学习什么安卓.这时的我首先想到了,固步自封的大清朝.当然并不是对这部分人排斥.只能说是想法不一致,认知略有不同,也没有错与对,我只是想把我自己的想法表达出来,期望与您产生共鸣.的确迄今为止,我仍然认为C#是当今我见过的最好的语言.设计规范语法总使我赶到兴奋其优美

程序员带你学习安卓开发,十天快速入-对比C#学习java语法

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 上次课程:.程序员带你学习安卓开发,十天快速入门-开发工具配置学习讲的是java环境的配置以及as安装工具的安装. 其中有网友@鹅鹅鹅_说道,其实jdk的环境变量配置,不用配置的那么麻烦了.当前的jdk版本只要设置一个变量javahome就可以了,其他的可以不需要配置.在这里提一下.

大话程序界+推荐书籍!

作为中国人,有着优良传统文化,在IT界中,中国的程序员也总是想着创新,专研,提高程序代码,为什么却没有想着提高自己的视野.思维和经验呢?今天,现编就来大胆一说,和推荐给各位一些程序员很有用的书籍介绍! 我大胆把程序员分为两种——工人与艺人. 工人,类似于泥瓦匠,按部就班,可以做好本职工作,但不具备创造性,在编程时也没有考虑系统的架构.各模块之间的分工等.这种人往往死守某一种语言或技术,不肯接纳新思想,也拒绝接受新的技术.其最大的特点就是,写出的代码能勉强能运行,但没有经过任何重构,代码完全是一团

6.C语言迷宫程序界面版

写迷宫程序首先需要安装图形库easyX 安装地址链接:https://pan.baidu.com/s/1qZwFn3m 密码:ozge 项目截图: //左上角是七点,右下角是终点,蓝色表示的是走过的路径,红色表示的是当前位置,采用的是深度优先遍历 mg.h 1 #pragma once 2 #define _CRT_SECURE_NO_WARNINGS 3 #include <stdio.h> 4 #include <graphics.h> 5 #include <mmsys

一个java程序员自学IOS开发之路(十四)

上个月实在是太忙了,在系统上线的前几天,业务人员还在不停的提新需求,真是醉了.上线那天晚上一直在出问题,熬到2点才搞定 2015/12/12 Day 47 今天开始学习网络编程 在移动互联网时代,移动应用,只有通过网络进行数据交互,才能保持活力!缺少了数据变化,无论多么华丽的应用,终将变成一潭死水 移动网络应用(良好的UI+良好的用户体验): 即时通讯:QQ 新闻:网易.凤凰新闻 视频:优酷.百度视频 音乐:虾米.QQ音乐 照片:Facebook.Flickr LBS(基于位置服务):高德.大众

C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型

遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前的位置.z的朝向:用3条线.z轴正向.30°旋转.-30°旋转. 问题是:0点可以获得,P1点? P2点是未知的. 我尝试了2个小时,结果不竟如人意,少于沮丧. 不得不,再次花点时间系统的学习3D数学: 1 位移–向量和点: 点: 点和向量在数学上是一致的,实际生活中点的概念比较好理解,坐标点来定位

一个java程序员自学IOS开发之路(十)

2015/11/26 Day 41 今天开始学起触摸事件 在用户使用app过程中,会产生各种各样的事件 iOS中的事件可以分为3大类型 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象” UIApplication.UIViewController.UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件 UIResponder内部提供了以下方法来处理事件 触摸事件 - (void)t

软工第一个程序:像二柱子那样,花二十分钟写一个能自动生成小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。

程序设计思想 本程序的设计主要基于对C/C++中产生随机数的应用,在产生算数符号部分主要采用了switch语句,通过随机产生0-3的数值来随机产生"+-*/"字符,并进行相应的处理:在处理整数操作部分时,使用try/throw语句,避免除法分母为0,语句采用一维数组,记录答案结果:在处理真分数部分,采用while语句产生合理的真分数,采用二维数组记录答案结果. 程序源代码 #include<iostream.h> #include<stdlib.h> #incl