良好习惯成就Better程序员
慎于说Yes
在没有搞清楚开发需求、任务工作量、团队期望值之前,有前途的程序员不会轻易答应。特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取。承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多。
敢于说No
看起来和第一条雷同,其实细究起来不一样。第二条执行起来比第一条难得多。当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由。不要经常说No,但是一旦说了,就要切中要害。有前途的程序员不会闷头干活,知道自己的定位和团队期望,分清楚哪些是不合理的要求,哪些是合理的要求,然后把明显不合理的要求和领导沟通下,取得支持。
构建自己的知识体系
在信息爆炸的年代,碎片化的知识很多,系统学习的时间越来越少,如果没有自己的知识体系,很容易被淹没在知识的海洋中,而且难以记忆。100分程序员推荐的做法,通过Wiki或者其他知识管理工具构建一个知识框架,大的分类可以包括软技能、架构、语言、前端、后端等,小的分类可以更细化。
培养大局观
程序员比较容易陷入的困境是专注于自己的一亩三分地,不关心团队的进度和业绩,也不关心软件的整体架构和其他模块。这种状态长期下去没有好处,特别是在大公司中,逐渐成长为一颗螺丝钉。100分程序员会在工作之余,多看看其他在做什么,看看团队的整体规划,看看软件系统的架构和说明文档。对自己的工作更理解,而且知道为什么这个产品应该这样设计,为什么领导应该这样做规划,这种大局观非常有利于自己的职业生涯。
代码规范
程序员在新手时期需要培养良好的代码规范。最直接的办法,遵循公司已有的代码规范(如果没有类似的规定,也是醉了),从简单的变量命名到模块划分,有些规则可以导入到编码工具中,更多的部分需要自己体会和遵守。关于此方面的知识,最权威的书籍是《代码大全》,别误会,书名是个美丽的错误,里面不是代码集锦。对于新手来说,养成一个统一的编码风格非常重要,是基础一步。
代码审查
把这个单独拎出来说,是因为对于程序员来说很重要。很多快速成长的公司没有这个步骤,建议大家能够坚持下来。让别人审查自己的代码,可以得到更多的反馈,也是和同事交流的好机会;审查别人的代码,可以借鉴别人的经验和思路。通常情况下,代码审查比自己写代码的收获更大,对于新手来说更有价值。只要你想做,不论形式是不是正规,都可以执行下去,最好形成团队的习惯。
一个时间段内只专注于一种类型的语言
如果你正在设计或开发网站,你将需要同时熟悉多种不同的语言。你可能会想同时学习所有的这些语言,特别是考虑到它们是如何相互关联的。
我想,在某种程度上,这是不可避免的。但如果你真的想快速提高,我建议你专注于一个特定领域的专业知识。你想更好地利用CSS?把你的重点放在这一点。尝试使用一个单一的HTML文档只使用CSS实现不同的布局。 CSS Zen Garden 是一个使用相同布局实现不同页面样式非常棒的例子。你也可以通过查找元素的列表,并把精力集中在里面。举个例子来说,你熟悉CSS2,但想提升对 CSS3 的理解,你可以学习CSS3属性并逐一的实现它们。你可以阅读当前的 CSS3规范 ,还可以通过每个模块的学习来了解它在浏览器上能(或不能)做什么。
通过注释来写逻辑
说到编码,我有坚持很多原则和想法。其中一个就是,代码中95%都是逻辑。另一个就是从人类语言到编程语言,逻辑并没有改变。
这也就是意味着,如果你能在代码中写出来,也就可以用英语或者其他语言写下来。
良好的时间管理
迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。但是我们忽略了这一点,我们的工作时间至关重要,因为在这段时间里我们要和客户同步,也要与团队其他成员一齐协作。
深入理解客户需求
仅仅了解单一用户的表面意思是远远不够的。一个伟大的程序员应该具备能把繁琐的要求理解并分解成项目的技术任务或子任务的能力,并且最后拿到的成果应精确满足客户的需求。
绞尽脑汁还是“NO”
假如抓耳挠腮还是找不出解决办法,我们该如何是好?一个伟大的程序员应该足智多谋,能灵活应对困境。他们会去询问同事,或者是向团队领导者请教;在互联网上面搜索,然后耐下心来一遍又一遍地试验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出现在他们的字典上。
编程之前准备好全套算法
亲~还记得我们老师逼我们画的流程图吗?还记得一个个案例和伪代码吗?他们都是灰常重要的软件开发手段。一个伟大的程序员如果木有事先准备好算法,那他会不会像个傻小子似的只顾写代码呢?所以,在开工之前,做好全套的算法是必须的。
理解and帮助定义验收标准
是否需要高成次测试脚本是产品所有者决定的,但是,作为一个伟大的程序员必须能够编写技术测试脚本,并且也要认识到如果跳过了这一步骤可能会带来的后果。
主动一点点
一个优秀的程序员不需要别人告诉他该做什么,他的主动性要比别人强一些,他可以自觉的关注流程,提高应用程序的灵活性以及快速的解决开发过程中出现的Bug。
良好习惯成就Better程序员的更多相关文章
- 每一位想有所成就的程序员都必须知道的15件事(走不一样的路,要去做,实践实践再实践,推销自己,关注市场)good
从 为之漫笔作者:为之漫笔 有超过 100 人喜欢此条目 原文地址:How to advance your career? Read the Passionate Programmer! 我刚看完Ch ...
- 不要困在自己建造的盒子里——写给.NET程序员(附精彩评论)
此文章的主旨是希望过于专注.NET程序员在做好工作.写好.NET程序的同时,能分拨出一点时间接触一下.NET之外的东西(例如10%-20%的时间),而不是鼓动大家什么都去学最后什么都学不精,更不是说. ...
- PHP程序员遇到职业问题时,是离职?还是坚持?
PHP程序员遇到职业问题时,是离职?还是坚持? 初级php程序员最担心在公司里遇到原本其他程序员开发的项目,他们“跑路”以后的工作就由新程序员完成.而新员工也不懂内部的逻辑,酱紫让程序员很难处理后续的 ...
- [程序员的业余生活]一周读完《高效能人士的七个习惯》Day1:这是不是一碗鸡汤?
提出问题 今天突然想聊聊最近对职场的一些感悟. 这段时间,小端一直在思考一个问题:作为一个程序员,怎么才能成为团队的核心? 还记得刚入职场那几年,小端一直觉得,技术过硬,经验丰富,敢打敢拼,就是答案. ...
- 一名Delphi程序员的开发习惯
一名Delphi程序员的开发习惯 有关开发习惯的一些想法,如鲠在喉,不吐不快.究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些 建议,或者参考(希望不是误 ...
- <转载> 优秀程序员必备的23条好习惯
转自 优秀程序员必备的23条好习惯 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究 ...
- PHP程序员,因该养成 7 个面向对象的好习惯
在 PHP 编程早期,PHP 代码在本质上是限于面向过程的.过程代码 的特征在于使用过程构建应用程序块.过程通过允许过程之间的调用提供某种程度的重用. 但是,没有面向对象的语言构造,程序员仍然可以把 ...
- 高效能程序员的七个习惯【csdn】
从网上看到的,感觉挺不错的! Beautiful is better than ugly. Explicit is better than implicit. Simple is better tha ...
- 成为优秀 Node.js 程序员的10个习惯
JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...
随机推荐
- 震惊!Vector两行代码求逆序对,六行代码过普通平衡树
Vector两行代码求逆序对 背景:济南集训Day7上午T2,出了一道逆序对的裸题,SB的我没看出是逆序对来,于是现场推了一个很刁钻的求逆序对的方法 首先我们想一下冒泡排序的过程,我们不难发现,对于每 ...
- 0.react学习笔记-环境搭建与脚手架
0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...
- Dynamics 365-Full Text Index on Stopwords
之前写了一篇关于Online Relevance Search的博文,然后又看到罗勇大神关于Full Text Index的博文:Dynamics CRM中一个查找字段引发的[血案],于是准备写点关于 ...
- gitbook 入门教程之导出电子书
gitbook 既可以将源码文件单独输出,也可以仅输出单个文件,常见的导出电子书格式主要有三种(ePub, Mobi, PDF),而这三种格式都依赖于系统本身提供的 ebook-convert 工具. ...
- Oracle的ORA-02292报错:违反完整性约束,已找到子记录
第一种方法: 第一步就是找到子表的记录: select a.constraint_name, a.table_name, b.constraint_name from user_constraints ...
- 从0开始的Python学习001快速上手手册
假设大家已经安装好python的环境了. Windows检查是否可以运行python脚本 Ctrl+R 输入 cmd 在命令行中输入python 如果出现下面结果,我们就可以开始python的学习了. ...
- Oracle 查询权限视图
在Oracle中有很多用于查权限的视图,但很多人在需要查权限时会很困惑,不知道该用哪个视图去查,这里我列出几个常见的用于查权限的视图及其用法: 1DBA_ROLE_PRIVS 该视图主要有以下2个作用 ...
- Spring Ioc工作机制 初步
Spring IoC工作原理 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖 ...
- leaflet动态路径
在leaflet中使用动态路径需要结合插件使用,对比了好几个插件,最终找到leaflet.motion比较合适: leaflet地址:https://leafletjs.com/ leaflet.mo ...
- python--继承--方法的重写---和父类的扩展
1.方法的重写 父类的方法不能满足子类的需要,可以对方法重写 具体的实现方式,就相当于在子类中定义了一个和父类同名的方法并实现 重写之后只会对子类的方法调用,而不会调用父类封装的方法 2.对父类方法进 ...