如何直观评估一个程序员的水平?

  有的程序员工作十年,工作经验十年。

  有的程序员工作十年,还在用第一年的工作经验。

  至于两者的区别不仅仅是对问题的思考深度不一样,更多的是一些成长和学习的习惯造成的,下面这几个习惯希望能给你一些启发,

  一个没水平的程序员写不出漂亮的代码,他们写的代码往往会很混乱,而且分布在代码库的各个部分。当有人想尝试阅读这类代码的时候,可能会觉得身处迷宫之中,根本不知道这段代码完成了什么功能。

  你应该这样做:

  编写代码之前,清楚地了解需求,知道你的代码要实现什么功能

  让你的代码简洁而优雅,其他团队成员可以读懂代码并理解它打算做什么

  关于Python 之禅?

  对于此前没听说过的人,请在 Python 解释器中键入并执行import this,会出现由 Tim Peters 撰写的 19 条指导原则:

  

  我们在学习任何一门技术的时候,都有一个漏斗状的知识体系,这门技术在漏斗最上层,而它下层的所有基础知识都是基于下层构建,比如MySql的学习如下:

  

  大量的顶层技术、工具都依赖着少量的、同质化的基础知识,只要学习有限的基础知识,就能对大量的顶层技术触类旁通、举一反三,可以降低未来的学习成本与学习难度以及加深理解的深度。

  解决路径:搜索解决方案 => 从里面看到别人分析的原因 => 自己不一定看懂了分析,但是先用这个方案试试再说 => 薛定谔的解决

  解决步骤:分析问题 => 猜想 => 验证猜想 => 找到原因 => 构建解决方案 => 验证解决方案 => 解决

  最理想的状态,是直接从「问题」到「解决方案」,但现实是建立这个对应关系其实并不容易,首先我们需要像上面的步骤一样,培养自己解决问题的思路体系。

  学会分解的思路,通过模块化思考,把它分成更小的子问题,不断分解,知道这些子问题能够解决。

  然后从最简单的问题开始,分别求解,最简单的意思就是你知道怎么解决。最简单还意味着,它是独立的问题,不受其他问题的影响。当你解决了每个子问题之后,可能问题会越来越简单。

  坚持做重要但不紧急的事,会让未来稳步上升,只着眼于重要且紧急的事,那生活中只会有越来越多重要且紧急的事需要你处理。

  缺乏开发经验的人员可能不知道怎么划分任务的优先级,如何推进?什么时候结束?而有经验的开发人员往往会同时处理多项事情,如解决问题生产环境、协同其他同事工作等等,他们都能有条不紊。

  

  点击下方链接领取黑马程序员600+小时公开课:

  想要自学编程点击此处,领取自学编程大礼包。

  举报/反馈