跳到主要内容

关于编程

阅读需 4 分钟
  • 文本来自于 QPython 编程群
  • 感谢**【架构分析】坚决不讨论专业问题的 IE6** 大佬

image.png

自测题

  1. 随便拿来一个软件/功能,绝大多数情况下能否正确推测出背后的实现原理。
  2. 能不能在 5 天/7 天/10 天/30 天内
    • 用一个新的框架(所有时间-2)开发出一个最小模型
    • 在之前没接触过/没有知识储备的情况下做出 app/网站/小程序/3d 游戏的最小模型。....
  3. 能不能看出计算机每层之间东西的关联以及设计思想,比如路由器和消息队列。
  4. 是否熟悉常用的语言的虚拟机 / 编译器,和框架从内存对象布局到部分代码实现原理再到 GC,从框架实现原理到设计思想,解决问题。
  5. 对计算机网络,计算机组成,编译原理,数据结构有一定了解,能够进行多学科联动的问题分析和性能分析以及问题查找。(重点是联动分析)
  6. 是否具备严谨的分析问题的能力,比如单一变量原则,假说演绎推理。
  7. 是否能够知道什么该优化,什么不该优化,用最小代价换最大收益。

什么叫编程

  • 编程其实只是在做两件事:解决问题以及,更好的解决问题。
  • 不管是写代码,抄开源项目,造轮子,拖拽开发出 app,都是为了解决问题。
  • 只要能解决问题,没有对错。
  • 代码说到底就是工具的一种。能解决问题就是及格的解决方案。
  • 如果你用代码解决不出来你要解决的问题,那你就是不如用拖拽开发的。
  • 更好的解决问题是一种进阶能力,用更好的算法能不能提高识别准确率,用更新的框架是不是能换来更优秀的- 响应速度。我能不能通过优化提高我解决问题的速度和质量。

什么叫编程能力及格

1。能把实际问题抽象,然后用计算机来描述和解决问题。 2。可以称自己为 xxx 语言程序员,但是不恐惧写任何语言任何项目的代码。从来不会觉得:这个我不会所以做不了。 3。能够进行简单的性能分析,分析,不是瞎想。我看过太多通过瞎想判断性能的自以为是的人了。这需要对自己的代码,语言实现有一定了解。 4。有基础的 debug 和分析问题的能力。不会虾球测试代码。


什么叫编程能力优秀

  • 在写代码的时候能不借助调试器(对就是说我(逃)),通过报错以及出现的状况判断是哪个地方出问题了(也算黑盒测试的一种?)
  • 能够进行性能分析,找出性能瓶颈,这里涉及的知识点就更多了,计算机基础知识,整体化思想(从上到下寻找性能瓶颈。开始于代码(业务逻辑代码),终止于代码(CPU 级别),对业务的熟悉。

什么叫会编程呢

  • (至少同龄人里我没见过任何人跟我思考一样的问题。)
  • 能够做出决定:
    • 到底该不该采取这个优化
    • 什么时候重构代码
    • 到底该不该升级框架
  • 这个要考虑的方面太多了,开发成本,时间成本,风险,协调性。
  • 有一些优化是没意义的/次要矛盾。而大家都喜欢抓着看得到的东西优化。

  • 如果你一句都看不懂,慢慢学 python 吧。
  • 如果你就看得懂几句,说明你根本没入门编程。
  • 如果你能理解大部分内容,说明学习方向还算正确,可以继续按照这样的方向学下去。

  • 文本来自于 QPython 编程群
  • 感谢 架构分析】坚决不讨论专业问题的 IE6 大佬

大佬名称截图

Loading Comments...