到底什么是编程能力?

 Hello 你们好,我是MC小超,今天和大家聊一聊什么是编程能力。

经常能看到大V、前辈们说,你要多写,要多练,提高自己的 “编程能力”,但是编程能力到底是什么呢?

在我看来啊,所谓的编程能力其实说到底就是用代码解决问题的能力,无论是 Leetcode 上的还是现实世界的问题。

能够从问题本身或是业务逻辑提炼出解决方案,并且用代码去实现,编程就是在干这样一件事:

现实世界的问题 ->抽象出解决方案/建模->计算机语言表达

可以看到,写代码只是最后一步,而我们常常说自己不会写,真的是不会写代码吗?

这让我想起了以前英语老师说的:

〝“很多同学说英语作文 说写不了几句就写不下去了,但是真的是英语学得差吗? 我看未必,大概让你用中文写,也写不上几句°

是啊,英语作文写得不好,很多同学下意识的觉得是自己英语本身没学好,确实有这个原因。

但是更本质的原因或许是你语言表达和组织能力的问题,也就是让你用母语写,也不一定能有条理的写上一段文字。

那回到编程这里,不会写代码,也许是你连解决问题的思路都没想明白,就是说你的脑海里没有形成 「第一步该做什么,第二步该做什么」

这样的流程。

这其实是最重要的,编码实现反而是相对简单的事情。

很多大厂,一般都是高级工程师或者架构师进行领域设计、架构设计,初级工程师进行编码实现各种接口。

说到这,我又想起了最近工作上的事情。

由于时间紧迫,我被leader 安排去了支援隔壁部门开发,但是他们那里的很多业务背景我一点都不知道。

对方对接的人让我去模仿 xxx 模块写,我看了 xxx 模块两天,愣是没写出个啥来。

事后,我在想,为啥会这样呢?是我编程能力太差吗?

也许是吧,但是更重要的原因是,我不理解业务背景,所以我的脑海里没有要实现这个需求的流程图。

检查参数、鉴权、认证、签名•这些流程不清晰,表现出来的形式就是,我不知道代码到底该先调哪个接口,再做什么。

心中没思路,自然无从下手。

所以其实编程的核心就是,你需要在心中对整个实现流程有一个大致的思路,然后用代码去一步步的实现。

在实现过程中,你会遇到很多细节问题,比如数据结构的选择,用set 还是list,存储结构的选型,以及如何 bug free的实现。

更进一步,怎样写出高性能、易读、易维护、易扩展高质量的代码,当然这都属于编码能力了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值