1 程序员不懂基础知识
一个程序员如果连最基本的语法都不会写
2 程序员不会调试代码
调试是程序员必备的技能之一,它可以帮助程序员找到代码中的错误。但有些程序员可能连调试器都不会用,或者根本不知道该如何开始调试。
3 程序员没有快速查找问题的能力
在编写代码的过程中,程序员会遇到各种各样的问题,这时能否快速地查找解决方案就显得特别重要。
4 程序员没有良好的代码风格
在编写代码的过程中,良好的代码风格可以使代码更易于维护。但有些程序员可能完全没有代码风格
其实,评论一个程序员技术的高低,不是看他会多少技术,又懂多少技术。参加过什么大型的项目,也不是看他有没有自己的博客,github有多少star。
而是看他解决问题,定位问题的能力。这个很重要,真的很重要。
技术可以很快上手使用,但是解决问题定位问题的能力不是轻易就行的。特别是在高压下解决问题的能力。
下面是师姐为大家整理的一些建议:
解决问题
1代码的命名要规范。
代码是写给人看的好嘛!代码是写给人看的好嘛!代码是写给人看的好嘛!
headImg是什么鬼?我能以为是banner么,头部的,请原谅我蹩脚的中式英语!avatar这个呢、portrait这个呢?会不会更好些?英语不好就不能用好有道、google翻译么?还有用中文拼音命名的,亲,我们用的是英文做为脚本好么?你要用这样的,用易语言可好?!
疯了!
为什么要用框架?一个很重要的原因是命名规范,目录规范,结构规范,分层规范,有利于团队协作,不要本末倒置!
2架构和规划能力很重要,模块分层,解耦设计什么的,文件目录嵌几层?
这其中又跟命名的能力能搭上点关系。命名都命不好,目录结构怎么建?
url不要做的漂亮些吗?不考虑seo了?
你喜欢addGoods还是喜欢goodsAdd?
请你尊重点我的那些初高中英语语法好么?
3协助能力、可持续能力。
最好的程序代码是脱离其产生者的。
为自己程序处处救火的程序汪并不是一条好汪。
我记得一句话就是:别想着你的代码以后还有机会重构!
每次说,额,这里我后面会改的,会改的,但是可惜,现实情况是根本不会给你这个时间的。
代码写出来,一是要爽了自己,二是也要爽了别人。
4debug的能力、总结能力、学习能力真的很重要,代码写出来真的花的时间不长,但擦屁股的时间比写代码的时间多多了!
出了问题不记录,写个博文都好啊,我可没那么强大的记忆力,所以最讨厌考记忆力。
5不要一贯的使用各种算法,秀算法的你们够了,要写去写底层,应用的场景比较多。
应用层面的程序,算法的应用不是特别多,大部分都是业务代码。以这个作为评价标准的,真心然并卵。
这么说吧,2000年的时候,北京一个程序员年薪大概是5万人民币,而美国一个程序员的年薪是80万人民币。所以这样水平的程序员年薪从5万涨到了大到40万人民币。所以如果过去,每个月背着4000块钱的房贷很困难的家庭,(夫妻双方大概月薪七八千。)现在每个月还4000块钱,真是太轻松了。原因主要是收入的快速上涨。
今后如果再涨到320万的可能性有多大?如果汇率不变的话。也就是今后涨到45万美元年薪的可能性有多大?
程序员的评定有国家等级标准的,通过 计算机技术与软件专业技术资格(水平)考试(简称“软考”)即可获得相应的等级资格证书。\x0d\软考有三个级别:初级资格、中级资格、高级资格\x0d\每个级别里面又区分不同的专业方向。\x0d\初级资格:程序员、网络管理员、多媒体应用制作技术员、电子商务技术员、信息系统运行管理员、网页制作员、信息处理技术员。\x0d\\x0d\中级资格:软件评测师、软件设计师、软件过程能力评估师、网络工程师、多媒体应用设计师、嵌入式系统设计师、计算机辅助设计师、电子商务设计师、系统集成项目管理工程师、信息系统监理师、信息安全工程师、数据库系统工程师、信息系统管理工程师、计算机硬件工程师、信息技术支持工程师。\x0d\高级资格:信息系统项目管理师、系统分析师、系统架构设计师、网络规划设计师、系统规划与管理师
辨别一个程序员的水平唯一的办法就是看 产出质量。
算法和数据结构都是锦上添花,并非是雪中送炭。而一个程序员的水准大致上是可以通过之前的代码质量估算出来的。如果你可以获得此程序员的真实编写的代码,比如原创的Github。
举个栗子:下面是我最近在单位一个同事写的代码,Java语言
private boolean checkProportions(String str, Integer grades) {
String proportion = str;
for (int i = 1; i < grades; i++) {
String st = proportionsubstring(proportionlastIndexOf(",") + 1);
if (stequals(""))
return false;
proportion = proportionsubstring(0, proportionlastIndexOf(","));
}
if (proportionequals(""))
return false;
str = strreplace("", "");
str = strreplace(",", "");
for (int i = strlength(); --i >= 0; ) {
int chr = strcharAt(i);
if (chr < 48 || chr > 57)
return false;
}
return true;
}
大致上的功能就是将 1,2,62,4,1 的字符串判断每一 ‘,’内是数字,而且长度符合规定
这样的代码看上第一眼就觉得非常的丑陋。所以在我的要求之下,进行了一次重构。
private static boolean checkProportions(String str, int grades) {
String[] proportions = strsplit(",");
if (proportionslength != grades) {
return false;
}
for (String s : proportions) {
if (!NumberUtilsisNumber(s)) {
return false;
}
}
return true;
}
这里看上去差不多就Ok。这样的代码其实也并没有用到什么数据结构和算法,就是很简单的字符串处理。
实际情况:在我们写的绝大多数的代码里面,大部分属于业务逻辑,极少部分的代码需要使用到算法和数据结构,在这样的情况下,我们能使用的到的技能最为关键的是让代码如何更加合理。而让代码更加优秀的方式是通过千锤百炼的重构,而重构是极大的考验一个程序员耐心和能力的东西。
质量的范围广泛,我从下面几个小方面聊聊。
出货能力:如果一个程序,算法再精妙,不能出货都是扯淡,我看过某某大神,算法溜得很,但是一个人完全做不到按照工程需要把事情给做完。
优化能力:并没有一个程序是一步到位的,一个工程的交出去可运行了,那才是第一步,很多时候随着业务的增大,对性能的要求越来越高,有一定对于代码优化的能力也是比较重要的。
调错能力:项目越大,遇见的Bug也就是越离奇,这个时候需要强大的Debug能力,找出那个最为关键的错误点,甚至于追溯底层框架的源码。
技术掌控:你项目能用Spring,Hibernate等等框架,但是有没有想过,这些技术你真的可以掌控么,如果有一天你的框架版本需要升级,真的做得到么?甚至于从Hibernate转为MyBatis。
算法和数据结构是影响到一些核心区的问题,但是其他的一些技能,比如面向对象的架构设计,代码的低耦合,那都是对整个项目有着直观改善的技能。并非是贬低算法,而在实际工作中,有太多比算法更重要的问题了。
不一定。程序员是从事程序开发、程序维护的专业人员。大多数的时候程序员是很少出差的,少数出差的程序员要不是公司安排的,不一定就是水平高的,也有可能就是想出去见识见识,便向公司申请出差的机会的。程序员是和代码打交道的人,俗称码农。
以上就是关于程序员的水平能差到什么程度全部的内容,包括:程序员的水平能差到什么程度、如何看出一个程序员的技术能力和水平、2000年的程序员技术水平高吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)