如何直观评估一个程序员的水平?
有的程序员工作十年,工作经验十年。
有的程序员工作十年,还在用第一年的工作经验。
至于两者的区别不仅仅是对问题的思考深度不一样,更多的是一些成长和学习的习惯造成的,下面这几个习惯希望能给你一些启发,
一个没水平的程序员写不出漂亮的代码,他们写的代码往往会很混乱,而且分布在代码库的各个部分。当有人想尝试阅读这类代码的时候,可能会觉得身处迷宫之中,根本不知道这段代码完成了什么功能。
你应该这样做:
编写代码之前,清楚地了解需求,知道你的代码要实现什么功能
让你的代码简洁而优雅,其他团队成员可以读懂代码并理解它打算做什么
关于Python 之禅?
对于此前没听说过的人,请在 Python 解释器中键入并执行import this,会出现由 Tim Peters 撰写的 19 条指导原则:
我们在学习任何一门技术的时候,都有一个漏斗状的知识体系,这门技术在漏斗最上层,而它下层的所有基础知识都是基于下层构建,比如MySql的学习如下:
大量的顶层技术、工具都依赖着少量的、同质化的基础知识,只要学习有限的基础知识,就能对大量的顶层技术触类旁通、举一反三,可以降低未来的学习成本与学习难度以及加深理解的深度。
解决路径:搜索解决方案 => 从里面看到别人分析的原因 => 自己不一定看懂了分析,但是先用这个方案试试再说 => 薛定谔的解决
解决步骤:分析问题 => 猜想 => 验证猜想 => 找到原因 => 构建解决方案 => 验证解决方案 => 解决
最理想的状态,是直接从「问题」到「解决方案」,但现实是建立这个对应关系其实并不容易,首先我们需要像上面的步骤一样,培养自己解决问题的思路体系。
学会分解的思路,通过模块化思考,把它分成更小的子问题,不断分解,知道这些子问题能够解决。
然后从最简单的问题开始,分别求解,最简单的意思就是你知道怎么解决。最简单还意味着,它是独立的问题,不受其他问题的影响。当你解决了每个子问题之后,可能问题会越来越简单。
坚持做重要但不紧急的事,会让未来稳步上升,只着眼于重要且紧急的事,那生活中只会有越来越多重要且紧急的事需要你处理。
缺乏开发经验的人员可能不知道怎么划分任务的优先级,如何推进?什么时候结束?而有经验的开发人员往往会同时处理多项事情,如解决问题生产环境、协同其他同事工作等等,他们都能有条不紊。
点击下方链接领取黑马程序员600+小时公开课:
想要自学编程点击此处,领取自学编程大礼包。
举报/反馈