回到顶部

程序员最应该知道的一些事

时间:2年前   作者:庞顺龙   浏览:139   [站内原创,转载请注明出处]

标签: 情感杂谈  

1.应用函数式编程原则

引用透明性是一个非常可取的特性。这意味着,不论何时调用它,对于同一组参数它永远给出同样的结果,这使它跟那些与其他系统相互交织的东西比起来更易于使用。

2.从用户的角度看问题

你不是用户。不要把你的想法强加到用户头上,每个人的想法都不尽相同。花一个小时去观察用户的行为比你花上一天的时间去猜测他们想要什么要有用得多。

3.心口不一的客户。

在你决定客户需求之前,最好先和他们多讨论几次,重新确认问题。有时候,客户前后谈论的话题以及不同客户群体之间的想法是会有出入的。如果你想要成功,那么必须得在软件开发之前先好好解决差异问题。
在交流时不妨使用一些直观的辅助工具,例如白板、可视化模型等,有助于客户的理解和信息保存。

4.以Why开始

不要客户说什么就是什么,多问几个Why。只有弄清楚需求背后的原因,才能发现新的可能。很多时候,我们可以通过对现有产品的改动来完成需求,大大减少工作量。
有时候,客户的想法与你对产品的看法可能达不成一致。那么反过来问自己“Why?”。这能让你更加明确自己的第一感觉是否对头。如果还是裁决不了,那么就需要其他主要决策者的参与。

5.努力并不一定都有回报

不要工作得太辛苦。减少工作量,增加工作效率,才能完成更多的工作。我可不是在忽悠你。做项目时,如果想减少工作量,那么势必得找到实现目标的高效途径。在提高了工作效率的同时还有助于积累经验。以后碰到这样的问题不就是三下五除二的事了。

6.大量刻意的训练

我们还可以训练自己从而提高执行任务的能力。这是一种技巧和技术,也意味着重复——意味着带着某种目的去执行任务。不断地重复and重复,一遍又一遍,直到你达到所需的能力级别。
译者注:我曾经学asp的时候重复写了几十遍数据库操作的代码,都会背了:)

7.做点所谓的“重复工作”

使用现有的代码与一步步设计自己的软件——测试、修复、改进——是完全不同的。这些旁人看来所谓的“重复工作”有助于你更深刻地熟悉并理解现有的各个组件是如何运作的。
大多数开发人员可能从来没有创建过核心的软件库,因此对它们的工作原理也不甚了解。其结果就是,一旦碰到这些种类的软件出现问题就会束手无策。了解表面永远是不够的,只有将里面隐含的工作原理挖出来,才能让你真正地在这一行业,独步武林。

8.不断学习

●阅读
●参与邮件讨论。
●获取并编写代码。
●找一个导师。
●了解你正在使用的框架和库。
●犯了错误,需要修复bug或遇到问题时,弄清楚原因。
●教人也是学习的一种好方法,可以教学相长。
●参于用户组或本地会议。
●加入或启动研究小组。
●听讲座或在线观看会谈。
●学习一门新的编程语言。
●梳理出新的,可用于技术堆栈的想法和点子。

9.知道如何使用命令行工具。

由grep和SED提供的搜索和替换能力往往比IDE的功能更强大。
如,查找相同名称的类:
find . -name ‘*.rb’ | see ’s/.*\///‘ | sort| uniq -c | grep -v “^ *1” | sort -r

10.Unix工具会是你的好伙伴。

Unix工具是很简单的扩展工具。只需要谨记以下一些简单的规则即可:
1.程序只需要执行单一任务
2.读取标准输入文本行数据
3.显示结果为标准输出
4.影响工具的操作参数使用的也是命令行。

11.自动化,自动化,还是自动化。

掌握shell语言,如bash和PowerShell,构建自动化系统是不可能一蹴而就的。如果需要网站交互,可以使用如iMacros或Selenium等工具。
一开始你没必要去学习所有的bash命令。当你需要的时候再去学也来得及。如果碰到你认为可以自动化的任务,那么尽可能地学习并使用工具来达到自动化的目的。自动化任务越早开始越好。

庞顺龙最后编辑于:2年前

内容均为作者独立观点,不代表八零IT人立场,如涉及侵权,请及时告知。

评论努力加载中...
暂无评论
暂无评论

作者信息

加载中...

手机扫码阅读

热门相关

加载中...
关于我们   联系我们   申请友链   赞助记录   站点地图
© 2014 - 2017 www.80iter.com All Rights Reserved. 京ICP备14042174号-1
Powered by ASP.NET MVC+NancyFx+Bootstrap+SqlServer
本站遵循 CC BY 4.0 协议,转载请注明出处 。