㈠ 程序员有哪些常见的坏习惯
好的程序员炫耀代码,不好的程序员炫耀工具,自觉用VIM,EMACS的用Eclipse,VS的高级,喜欢问怎么办而不是为什么。
㈡ 有前途的程序员8个习惯,你拥有几个
谨慎说Yes
在没有搞清楚开发需求、任务工作量、团队期望值之前,有前途的程序员不会轻易答应。特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取。承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多。
2敢于说No
看起来和第一条雷同,其实细究起来不一样。第二条执行起来比第一条难得多。当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由。不要经常说No,但是一旦说了,就要切中要害。有前途的程序员不会闷头干活,知道自己的定位和团队期望,分清楚哪些是不合理的要求,哪些是合理的要求,然后把明显不合理的要求和领导沟通下,取得支持。
3构建自己的知识体系
在信息爆炸的年代,碎片化的知识很多,系统学习的时间越来越少,如果没有自己的知识体系,很容易被淹没在知识的海洋中,而且难以记忆。100分程序员推荐的做法,通过Wiki或者其他知识管理工具构建一个知识框架,大的分类可以包括软技能、架构、语言、前端、后端等,小的分类可以更细化。
4培养大局观观念
程序员比较容易陷入的困境是专注于自己的一亩三分地,不关心团队的进度和业绩,也不关心软件的整体架构和其他模块。这种状态长期下去没有好处,特别是在大公司中,逐渐成长为一颗螺丝钉。100分程序员会在工作之余,多看看其他人在做什么,看看团队的整体规划,看看软件系统的架构和说明文档。对自己的工作更理解,而且知道为什么这个产品应该这样设计,为什么领导应该这样做规划,这种大局观非常有利于自己的职业生涯。
5代码规范
程序员在新手时期需要培养良好的代码规范。最直接的办法,遵循公司已有的代码规范(如果没有类似的规定,也是醉了),从简单的变量命名到模块划分,有些规则可以导入到编码工具中,更多的部分需要自己体会和遵守。关于此方面的知识,最权威的书籍是《代码大全》,别误会,书名是个美丽的错误,里面不是代码集锦。对于新手来说,养成一个统一的编码风格非常重要,是基础一步。
6代码审查
把这个单独拎出来说,是因为对于程序员来说很重要。很多快速成长的公司没有这个步骤,建议大家能够坚持下来。让别人审查自己的代码,可以得到更多的反馈,也是和同事交流的好机会;审查别人的代码,可以借鉴别人的经验和思路。通常情况下,代码审查比自己写代码的收获更大,对于新手来说更有价值。只要你想做,不论形式是不是正规,都可以执行下去,最好形成团队的习惯。
7一个时间段内只专注于一种类型的语言
如果你正在设计或开发网站,你将需要同时熟悉多种不同的语言。你可能会想同时学习所有的这些语言,特别是考虑到它们是如何相互关联的。
我想,在某种程度上,这是不可避免的。但如果你真的想快速提高,我建议你专注于一个特定领域的专业知识。你想更好地利用CSS?把你的重点放在这一点。尝试使用一个单一的HTML文档只使用CSS实现不同的布局。 CSS Zen Garden 是一个使用相同布局实现不同页面样式非常棒的例子。你也可以通过查找元素的列表,并把精力集中在里面。举个例子来说,你熟悉CSS2,但想提升对 CSS3 的理解,你可以学习CSS3属性并逐一的实现它们。你可以阅读当前的 CSS3规范 ,还可以通过每个模块的学习来了解它在浏览器上能(或不能)做什么。
8通过注释来写逻辑
说到编码,我有坚持很多原则和想法。其中一个就是,代码中95%都是逻辑。另一个就是从人类语言到编程语言,逻辑并没有改变。
㈢ 程序员的职业生涯通常会遇到哪些为人熟知的职业瓶颈该如何应对
会的。身边同事工资翻了一番,但自己跳槽加薪难,面试无回复,跳槽加薪不高;我想离开一线的开发工作,做一个技术管理的职位。我对自己的技术实力和项目管理能力没有信心。不愿意写一辈子的代码,想寻求职业突破(进入知名公司,拿高薪)却找不到方法,缺乏明确的职业规划。这类朋友还是比较多的,主要是想学但没有方向,这应该是广大程序员工作人群的困惑。
其实,刚开始的时候掘坦,我并不喜欢把自己的作品记录下来,更不喜欢把它写成微博,发布在公众号上。即使在公司里,我也嘲笑它,认为这只是形式主义。但在我被困住的那些年里,我一直在写作,让自己不去想那些事情。这次经历让我想到了用一种新的方式总结经验。乍一看,根据某一条目逐字逐句地输入你的工作经历似乎是在浪费时间。但在不断总结工作经验的过程中,我们对工作进行了更仔细的梳理。这实际上是一个思考的过程,在经验中寻找共性,并逐渐形成自己的工作方式。随着时间的推移,你会摆脱焦虑,找到一条适合自己的道路。
㈣ 程序员该有哪些职业道德
to accept responsibility in making decisions consistent with the safety, health, and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;决策时要维护公众的安全、健康、福利,并及时披露任何危及公众的因素。
to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;尽量回避存在或可预见的利益冲突,如有冲突存在应及时向波及对象披露。
to be honest and realistic in stating claims or estimates based on available data; 对现有的数据的声明或估计应诚实、客观
to reject bribery in all its forms; 拒绝任何形式的贿赂
to improve the understanding of technology; its appropriate application, and potential consequences; 增进个人对技术及其应用和潜在后果的理解
to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations; 保持并提高自身技术实力,在确保能力和经验胜任、并充分披露有关局限的情况下,方可接受他人的技术性委托
to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others; 对技术成果,寻求、接受和提供诚恳的批评,承认和纠正错误,和恰当地承认他人的贡献
to treat fairly all persons and to not engage in acts of discrimination based on race, religion, gender, disability, age, national origin, sexual orientation, gender identity, or gender expression;公平对待所有人,不做出任何有关种族、地域、性别、残障、年龄、国籍、性取向、性别认知、性别表现的歧视行为。
to avoid injuring others, their property, reputation, or employment by false or malicious action; 避免因错误或恶意的行为损害他人人身、财产、名誉、或工作。
to assist colleagues and co-workers in their professional development and to support them in following this code of ethics.帮助同事的职业发展,并支持他们遵守职业行为准则。