如何提高编程技能?恐怕很多开发者思考过这个问题。最近,拥有将近 15 年开发经验的软件工程师 Kesk -*- 写了一篇博客,列举了 40 条对其职业生涯有所帮助的事项。

 

或许,通过以下 40 个小贴士,你可以提升自己的编程技能。

1. 将大块代码拆分成函数。

2. 当你需要休息时还有问题没解决,请关上电脑,明天再看。

3. YAGNI 原则(你不会需要它):只写别人要求你写的功能。不要预测未来,只需要尽可能快地完成开发。只编码解决当前问题最必要的部分。

4. 你不需要什么都懂,也不需要了解所有框架。最棒的事情莫过于打好基础。在开始使用一个框架前先深入了解这门语言,学习基础的事项(如 SOLID 原则),或者如何写出干净的代码。

5. KISS 原则:KISS(保持简单和愚蠢)原则表明,大多数系统保持简洁而非复杂化,就可以运行得很好。尽管这很符合逻辑,但有时候却很难做到。

6. 不要想太多。

7. 如果你和一个问题或 bug 斗争了太长时间,先离开一会儿,等下再回来。通常,在离开办公室去往卫生间的路上,解决方案就会出现在脑海里。当你对客户或同事生气时,也建议你暂时离开去走走,如果你还想保住工作的话……

8. 学习写有用的测试,学着用 TDD(测试驱动开发)。TDD 是一种软件开发流程,它是对如下简短开发周期的重复:写测试;运行所有测试,查看新的测试是否运行;写代码;运行测试;重构代码;重复。

9. 先解决问题再写代码。不要在一筹莫展的时候开始编程。

10. 不要记代码,而是理解逻辑。

11. 如果你复制粘贴 Stack Overflow 中的解决方案,请确保自己首先理解它。学习用恰当的方式使用 Stack Overflow。

12. 想学习,先实践。创建示例,并使其运行,因为只通过阅读来学习远远不够。

13. 研究他人的代码,也时不时让别人研究你的代码。结对编程并进行代码 review 是不错的想法。

14. 不要重复造轮子。

15. 代码是最好的文档。

16. 了解如何搜索。你需要有经验,大量阅读,了解需要找什么。

17. 你写的代码以后会由自己或别人进行维护,因此写的时候想着读者,不要把自己当做最聪明的人。写代码要像写故事一样。

18. 用谷歌解决错误的最佳方式是复制粘贴。

19. 不要放弃,问题总能得到解决的。糟糕的时刻总会过去。

20. 好好休息。解决问题的最佳方式是先让大脑得到充分休息。

21. 学习使用软件设计模式。设计模式是软件设计常见问题的解决方案。每个模式就像一个蓝图,你可以依据它进行自定义,进而解决自己代码中的常见设计问题(记住,不要重复造轮子)。

22. 尽可能地使用集成工具和自动化方式。

23. 练习编码套路(code kata):编码套路是一种编程练习,可以帮助程序员通过重复实践来提升技能。示例参见:https://codingdojo.org/kata/

24. 编程并达到接口水平,而不是实现水准。依赖注入是必要的,参见 SOLID 原则。

25. 重构——测试 - 重构。重构即对现有代码进行重建、改动,在不改变其内部行为的前提下提升内部结构。

26. 必要的时候寻求帮助,不要浪费时间。

27. 多实践,熟能生巧。

28. 尽管有时候注释可以帮到你,但不要在这上面花费太多注意力。注释可能是过时的。

29. 了解自己的开发环境,并建设足够强大的开发环境,如 IntelliJ。

30. 重用组件。

31. 在开发 web 应用时,思考移动端及其相关的电量和带宽限制。

32. 不要过早地优化或重构代码。尽快做出最小可行性产品比较重要。

33. 不要为了节约几分钟,而选择低效的捷径。每次写代码,都要竭尽全力。

34. 遵循文档标准。

35. 用户不是技术人才。开发 UI 时时刻想着这一点。

36. 经常使用 GitHub 或 bitbucket 等源代码控制系统,并频繁进行小的提交更新操作。

37. 使用 log 要比代码 debug 更好。将所有关键部分记录下来。

38. 写代码时要保持连贯性。如果你使用一种风格,请一以贯之。如果你和多人合作的话,请和整个团队使用同样的风格。

39. 不要停止学习,不止是学新语言或新框架,还要关注软件开发基础知识。

40. 最后,保持耐心,保持热爱。


学C/C++不易,此路应携手前行。

欢迎关注我的编程公众號【草莓味狸猫】!

如果你想跟着小编一起学编程的话!

可以来我的C语言C++编程学习基地,【点击进入】

还有(源码,零基础教程,项目实战教学视频)!

涉及:游戏开发、课程设计、常用软件开发、编程基础知识、黑客等等...

 

 

2020年 TIOBE 7月份的编程语言排行榜:

TIOBE 2020 年 7 月份的编程语言排行榜已经公布,官方的标题是: R 语言的排名达到了历史最高位。

R 语言一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。也有人把 R 语言用作矩阵计算,其分析速度可媲美专用于矩阵计算的自由软件 GNU Octave 和商业软件 MATLAB,前段时间 美国还禁止中国部分高校使用 MATLAB 软件, GNU Octave 现在 不受美国政府限制, Python、numpy、 scipy 也可以代替 MATLAB 的部分功能,好像还有一款国产的 ,不过应该和 MATLAB 软件 还有很大差距,当然原子弹也不是一两天就造出来的,加油吧!

7 月份编程语言排名前十的分别是:C,Java,Python,C++,C#,Visual Basic, JavaScript ,R, PH P , Swift。

7 月份跟 6 月份比较没有很大的变化 R 语言从第 9 位上升到第 8 位, Swift 进入前 10。

排名 1-20 的编程语言

 

排名 21-50 的编程语言

 

各大编程语言的历史排名(1988-2020)

 

编程语言“名人榜”( 2003-2019)

 

数据反应目前主流编程语言的变化趋势,对我们学习和工作可作为一个参考,但各个语言都有它们各自适合的应用场景,所以也不必过于在意,毕竟语言的好坏在于如何去使用它。

这里有40条提升编程技能小妙招!还有TIOBE 7月份的编程语言排行榜的更多相关文章

  1. 关于MySQL索引知识与小妙招 — get get get

    一.索引基本知识 1.1 索引的优点 大大减少了服务器需要扫描的数据量,加快数据库的检索速度 帮助服务器避免排序和临时表 将随机io变成顺序io 1.2 索引的用处 速查找匹配WHERE子句的行 从c ...

  2. 【转】一个小妙招能让你在服装上省下好多rmb

    朋友们,你们仔细算过自己每年在淘宝上买衣服消费了多少rmb吗?100?1000?10000?甚至更多? 朋友们,你知道淘宝上大多数店铺的衣服是哪里来的吗? 朋友们,你知道怎么在这上面能节省更多的mon ...

  3. 14个Linux系统安全小妙招,总有一招用的上!

    对于互联网IT从业人员来说,越来越多的工作会逐渐转移到Linux系统之上,这一点,无论是开发.运维.测试都应该是深有体会.曾有技术调查网站W3Techs于2018年11月就发布一个调查报告,报告显示L ...

  4. 【CSS】小妙招,各种问题总结方法处理

    1.实现div文字溢出自动省略号截取   overflow:hidden;  /*超过部分不显示*/   text-overflow:ellipsis;  /*超过部分用点点表示*/   white- ...

  5. Angular 开发小妙招1:提交表单数据验证不通过,更改输入组件的样式

    开发表单时,客户端数据完整性校验是必不可少的,在jquery 时代出现了无数的数据验证插件也很好用,开发Angular 应用时,angular 内置了一些常用的数据验证指令.今天要讲的不是这些指令如何 ...

  6. 下载kaggle数据集的小妙招

    kaggle是很多数据分析和机器学习初学者非常喜爱的数据科学竞赛平台. 这个平台上有很多接近现实业务场景的数据集,非常适合练手. 今天向大家推荐一个下载kaggle数据集的小工具--kaggleAPI ...

  7. 一种比css_scoped和css_module更优雅的避免css命名冲突小妙招

    css_scoped 与 css_module 我们知道,简单的class名称容易造成css命名重复,比如你定义一个class: <style> .main { float: left; ...

  8. Angular+ionic2 web端 启动程序出现短暂 白屏或黑屏 的处理小妙招

    在ionic2项目启动是会出现短暂的白屏或者黑屏,虽然很短,但是用户体验不太好.上网查了相关的资料,都是针对打包APP的解决办法,针对浏览器端使用的项目没有效果,所以自己写了样式,巧妙的避开这个问题, ...

  9. 【转】IT族室内锻炼身体的小妙招

    上班族.久坐族近年的健康状况令人堪忧,由于缺乏运动加上长期面对辐射,使上班族身体状况越来越差.专家建议上班族应多加运动,只需小小的动作就能轻松获得健康! 梳头:用木梳从前额至头顶部向后部梳刷,逐渐加快 ...

随机推荐

  1. node-vuecli 脚手架安装

    1. vuecli 简介 Vue CLI 致力于将 Vue 生态中的工具基础标准化 Vue CLI 是一个基于 vue.js 进行快速开发的完整系统,是一个全局安装的 npm包,基于webpack构建 ...

  2. Appium之常用API

    Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...

  3. adb无线连接android手机进行调式,无需获得root权限

    利用adb无线连接android手机进行调式 无需获得root权限 转载来自CSDN  https://blog.csdn.net/lnking1992/article/details/5346518 ...

  4. UI中列表

    1.ul.ol.dl

  5. 基于MAXIMO的发电行业EAM解决方案

    1. 行业背景 随着我国以“厂网分开,竞价上网”为特点的电力市场的起步和发展,发电厂.发电集团成为独立企业参与市场竞争,原有的“生产型”管理模式已经不再适应市场的需求.发电企业在重视安全质量.保证电力 ...

  6. golang slice学习

    关于获取slice相关内存地址操作 s := make([]int, 1) t.Log(unsafe.Pointer(&s))// 获取当前slice 结构体实例的内存地址 t.Log(uns ...

  7. GO练习题

    package main import( "fmt" ) func list(n int) { for i := 0; i <= n; i++ { fmt.Printf(&q ...

  8. Spring系列之新注解配置+Spring集成junit+注解注入

    Spring系列之注解配置 Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率 你本来要写一段很长的代码来构造一个 ...

  9. document对象-操作元素的文档结构

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  10. vulnhub靶机Os-hackNos-1

    vulnhub靶机Os-hackNos-1 信息搜集 nmap -sP 192.168.114.0/24 找到开放机器192.168.114.140这台机器,再对这台靶机进行端口扫描. 这里对他的端口 ...