Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1234278
  • 博文数量: 1096
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11060
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-07 15:17
个人简介

linux工程师,RHCE

文章分类

全部博文(1096)

文章存档

2023年(84)

2022年(314)

2021年(251)

2020年(244)

2019年(176)

2018年(27)

我的朋友

分类: 系统运维

2021-03-28 20:49:47

软件开发10年学会的一些东西

近期我整理了一下软件开发这十年来需要学的东西,很实用的都是,一起来学习下吧。

 不要只会一种语言

很多人对于一门编程语言的喜爱程度往往超过他们自己的认知,有时候,他们会用一门编程语言来解决所有问题,然而现实世界中,每个语言都有自己的最佳应用场景。

我们都听过这样一句话,当你手中有一个锤子,你看什么都像钉子。当你只会一种语言的时候,你的思维往往也被局限了,而这是会影响你的编程思维的。

vim永远都值得你学的编辑器

对于编辑器之前我并没有特殊喜好,我用过ide,也用过sublime,atom,vscode,然而最后我还是更喜欢使用vim。

每当看到那些在vim下快速编程的大神们,你会感觉到编程原来可以如此拉风。

我喜欢vim的速度,它能够让我的思想和编程速度相匹配,当你的编程速度无法跟上思想的时候,你可以尝试下vim,一旦你体会到它的精髓,一定会爱上它。

算法和数据结构是你的基本功

在我高中的时候,我的化学老师就曾对我讲过,学习任何东西都要把基础打牢,为了打好基础,你可能需要练习无数遍。

对于编程来说,算法和数据结构就是我们的基本功。你需要时不时地就温习它们。现在很多面试者抱怨手写红黑树太难,然而这些都是作为一个程序员必备的基本功,就和相声的报菜名一样,你可能不需要每天练习,但是无论何时,当你被问起它的时候,你都能够把它手写出来。

技术永远是解决问题的

技术的发展永远伴随着问题的产生,正是一个个问题的解决提升了技术的发展。

你永远不要抱怨问题有多么难处理,技术就是为了解决问题的。你可以抱怨需求的不合理性,但是永远记住,解决问题才是你应该去做的,而解决问题的同时,就是你能力提升的过程。

你还应该记住,解决问题的速度越快,越有利于产品的发展。

平衡优化和速度

程序员对自己的代码都有严格的洁癖,他们希望可以写出完美的代码,然而现实中,没有十全十美的代码,只有bug百出的代码。

很多人喜欢写出符合规范的代码,喜欢通过tdd来驱动开发来减少错误,然而现实中你会发现,很多情况下为了开发的进度,所有的规范都可以被抛弃,唯一的规范就是在最短的时间完成产品的功能。

产品没有完美,只有相对完美,我们也不可能一开始就设计出或者写出相对完美的代码,我们只能通过不断完善才能让代码更优。重构和改进是你可以提升代码质量的第二次机会。

项目进度永远无法精准评估

无论你是团队工作,还是你单打独斗,你都无法精准预测项目的最终进度。

有些看似简单的问题,但是却可能产生意外的困扰,你可能需要花费额外的精力来处理它。而有些你预测的困难问题,可能比你实际想象的还要困难。

有时候你完成项目的90%,却发现最后的10%却花费了你90%的时间。

软件开发中各种险象环生,你需要时刻提高警惕,每一次顺利完成项目你都要谢天谢地,因为你已经足够幸运。

当你认为可能产生问题的地方一定会产生问题

你是否有过这样的经历,你认为某个地方的代码可能有问题,但是测试的时候就是没有发现,当你项目上线的时候,它就会完全暴露出来。

代码正常运行是最基本的要求,而bug也总是产生在意外的情况下。

没有人可以考虑到所有可能发生的意外,我们只能总结前人留下的经验,避免犯那些重复的错误。

总结

软件开发它是一种职业,需要我们有工匠精神,专注,创新是我们需要时刻牢记的。

不断学习,十年磨一剑,记住,你写得最好的代码永远是下一次。《linux就该这么学》不错的linux自学书籍

阅读(671) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~