`

作为开发者不应该畏惧的8件事

 
阅读更多

转自:http://www.iteye.com/news/27391

 

1. 改变

在软件开发中,没有什么事情会一直停滞不前。现在你正在开发的东西,只是软件的其中一个版本,未来随时可能发生变化。

变化是在软件开发中最常见的事情,你最好接受这一事实。一种好的做法是,使你的代码更加模块化,这样在未来需求改变时,可以容易地进行更改。

遵循DRY(Don't Repeat Yourself)和YAGNI(You Aren't Gonna Need It)原则。经常看看你的代码,相信自己可以做得更好。立即采取行动,并进行重构,你等的时间越长,代码维护起来就越艰难。有可能会混乱到你无法处理。

引用
好代码是很容易改变的代码。代码会不断改变,直到它不再容易改变为止。那时所有的代码已经变成了糟糕的代码。—— 匿名



2. 移除死代码和注释掉的代码

在开发中,往往会遇到一些无用的或注释掉的代码,你可能不愿意删除,因为你不知道它们以后会不会排上用场。

立刻删除了吧!因为有版本管理工具来负责记住这些代码。现实中太多的项目充斥着大量注释掉的代码,如果不需要,就删除吧,不要害怕。

引用
完美,不是在没有东西需要补充的时候,而是在没有东西需要去掉的时候。——《小王子》



3. 犯错误

没有人是完美的,每个人都会犯错误。犯错是一个学习的过程。如果你不承认任何错误,你将不会有任何改善。

所以,每当你犯了一个错误的时候,你要从中学到一些新的东西,来提高你的知识。此外,不要隐藏自己的错误,或为它们感到羞愧,诚实、坦率地说出你的错误,为自己或他人作前车之鉴。批评与自我批评是推动一个成功团队向前的重要工具。

引用
从未犯过错误的人,是没有机会尝试新东西的。—— 阿尔伯特•爱因斯坦



4. 向其他人展示你的代码

你是不是害怕其他人审查你的代码?为什么呢?你没有尽全力写好吗?你害怕犯任何错误吗?

你不应该这样,代码审查中发现的每一处错误都可以为你积累一些经验,在以后的编码中,你将不会再犯同样的错误。因此,你应该为你写的代码感到骄傲,不要害怕别人看到。

5. 失败

这是最重要的一个。如果你害怕失败,那么你将永远无法解决手头的问题。永远不要放弃希望,把它当作是一个挑战。尝试从另一个角度看东西。成功地解决难题之后,会让你更加强大。

引用
我并没有失败,我刚刚发现了1万种无法正常工作的方式。——托马斯•爱迪生



6. 你自己代码的稳定性

你向你的老板或客户展示你的项目时,你开始担心“能正常运行吗?希望我在开发过程中没有遗漏什么。”

这是一个不好的征兆,你不应该担心。你应该尽早测试你的项目。当然,你无法100%肯定你的作品是完美的,但通过编写自动化测试,可以大大提高你对你的代码的信任度。

7. 新的、复杂的技术

有些开发人员很懒惰,经常沉浸在他们的“Good Old”技术中。要知道,IT正在以令人难以置信的速度发展,每一天都会有新的、更好的技术出现。

因此,开发人员要以开放的态度,多学习一些东西,阅读一些博客,使你不至于与新技术脱节。如果技术/框架满足你的需求,尝试一下也无妨。

8. 项目时间压力

别让时间压力毁了项目的质量。保证你的代码干净、稳定,这是你的工作。高质量也意味着需要深思熟虑的决策和开发时间,有时你需要争取一下。你的客户期待你用100%(甚至120%)的努力来完成一个可维护的、最先进的产品,如果最终你交付一个次品,那么你后面的时间将被各种需求变更、维护工作占用,并且老板和客户对你的信任度也会降低。

在开发中,你节省的时间往往会为你带来更多的技术债务。因此,当涉及到项目质量时,拿出你的勇气,诚实地与你的老板谈谈。

引用
编程就像性一样:一次犯错,终生维护。——Michael Sinz



英文原文:8 Things you should not be afraid of as a Developer

分享到:
评论

相关推荐

    有理想的程序员必须知道的15件事

    ### 有理想的程序员必须知道的15件事 #### 1. 走一条不一样的路 在IT行业,要想脱颖而出,就必须敢于与众不同。选择一条与众不同的职业道路意味着避免盲目跟随大众的步伐,尤其是对于那些追求高薪职位的人来说尤为...

    The Busy Coder's Guide to Android Development

    书中提到了Android应用程序的开发,包括Android设备的特点,强调了开发者不必对技术细节感到畏惧。Eclipse作为一款流行的IDE被讨论,同时书中也提供了关于替代IDE的信息,以及为何本书要选择特定的IDE来配合内容展开...

    00769 再生资源回收利用行业-宁盛源公司--内部讲师培训-(打印版)(PPT 68页).ppt

    2. **开发者角色**:作为开发者,内部讲师要进行需求分析,确定培训目标,规划课程内容,以及制作教材。这一角色强调了对培训过程的全面把握,确保培训的针对性和有效性。 3. **执行者角色**:内部讲师需与公司的...

    android真正入门不坑的教程-基础的基础.pdf

    在当今这个时代,Android作为全球占有率最高的移动操作系统,它的发展历程和原理成为了许多希望成为软件开发者的必学知识点。这份“android真正入门不坑的教程-基础的基础.pdf”以简洁明了的方式,讲述了Android系统...

    在行动中发展自己PPT学习教案.pptx

    2. 克服恐惧,立即行动:面对新技术的挑战,开发者可能会感到畏惧,但只有勇敢地去尝试和实践,才能克服恐惧并从中学习。不断试错和迭代是技术进步的重要过程。 3. 时间管理与执行力:拖延是成功的敌人。IT项目往往...

    Pragmatic Guide to Git

    John Mertic,作为高级软件工程师,提到这本书节省了他在寻找Git最佳实践方面的时间,并将其作为参考资料。而拥有两年Git经验的Luke Pillow惊讶地发现,即便他已经是Git的熟练用户,这本书仍然教会了他许多有用的新...

    Python-Persimmon用于sklearn的视觉数据流编程语言

    Python-Persimmon是一种专为sklearn(Scikit-learn)设计的视觉数据流编程语言。它旨在通过提供直观的图形界面,使机器...同时,对于经验丰富的开发者,它也能作为一个有效的辅助工具,帮助他们更高效地进行项目管理。

    老鸟程序员才知道的 40 个小技巧

    14. 重构/优化/修复Bug,同时只能做一件:集中精力在一件事上,可以提高解决问题的效率和质量。 15. 简单模块注意封装,复杂模块注意分层:每个模块都应有明确的职责和合理的抽象,以保持代码的整洁和组织性。 16....

    Ant In Action 中文版 16章

    其次,开发者与运维人员之间的职责划分常常导致沟通障碍,使得部署过程充满了不确定性。最后,过于乐观的时间规划往往忽视了部署的复杂度,导致最后时刻的手忙脚乱。 #### 如何实现成功的部署 成功的部署策略应...

    单片机程序调试黑宝书

    文章还讨论了版权问题,作者明确表示该文不涉及版权,也不打算出版或收费,而是将其作为免费资源供读者在保持文章完整性和注明出处的前提下自由下载和转载。作者还特别指出,读者在使用文中的代码时需要谨慎,因为...

    wince显示器驱动介绍及开发

    对于许多开发者而言,编写显示驱动可能是一项令人畏惧的任务。Windows CE(以下简称Wince),作为微软面向嵌入式设备的操作系统,同样面临着这一挑战。然而,微软为简化显示驱动的编写提供了C++类库。尽管这些类已经...

    天书夜读 从汇编语言到Windows内核编程

    书中指出,Windows作为一个庞大且复杂的系统,由于其源代码的不公开,开发者在进行程序调试时往往会遇到不熟悉的领域,此时掌握汇编语言成为了一项重要的技能。 3. 书中作者分享了自己作为安全软件开发者在学习和...

    鼓舞士气的话做人诚实信用.docx

    在IT领域,无论是作为开发者、项目经理还是企业家,诚信都是建立信任的基础。如果你的代码可靠,你的承诺可信赖,人们会更愿意与你合作,这将有助于你在职场上建立良好的口碑,进而带来更多的机会和成功。 其次,...

    理解Java应用服务器的七种必备“武器”

    许多人对应用服务器感到畏惧,认为其复杂难懂,但实际上,大多数应用服务器,如Sun的J2EE应用服务器,提供了丰富的文档和示例,使得学习和使用变得容易。例如,Sun的教程包含了大量代码示例,帮助开发者了解J2EE...

    Unity游戏开发入门教程

    - 随着版本的更新,Unity逐渐提供了更多的免费功能,使开发者可以不受限制地使用。 #### 8. 作者的幽默风格 - 在教程中,作者采用了幽默诙谐的笔风,使得教学内容更加生动,便于读者接受和理解。 通过上述知识点,...

    2021格林童话读后感最新读书笔记___.docx

    《格林童话》作为经典儿童文学作品,其中蕴含的不仅仅是引人入胜的故事,更是一份丰富的精神财富,对于现代社会,尤其是技术领域,其寓言故事同样具有启发意义。尽管标签中提到“技术”,但在这篇读后感中,我们可以...

    高级Linux程序设计

    本书的中文译者为“完美废人”,他提到自己最初学习Linux编程时面对Richard Stevens的经典著作感到困惑和畏惧。后来,在朋友的推荐下接触到了《高级Linux程序设计》,发现该书语言通俗易懂,非常适合初学者。因此,...

    200多行代码实现的angular最小系统

    AngularJS,作为一款由Google维护的JavaScript框架,用于构建单页应用程序(SPA),以其强大的数据绑定和依赖注入机制而闻名。在"200多行代码实现的Angular最小系统"中,我们可以深入理解Angular的基本原理,揭示其...

    数据结构课程教学改革研究 (4).pdf

    学生往往对这门课程产生畏惧心理,原因主要集中在以下几点:学生的学习需求与教学目标不对应、教学方式呆板且缺乏互动、学生对前置课程如C语言掌握不充分导致学习动力不足。 针对教学现状和原因分析,本文提出了...

Global site tag (gtag.js) - Google Analytics