美文网首页Python交流学习写作30天养成计划软件工程学习
如何通过10行代码辨别一个程序员是大神还是咸鱼?

如何通过10行代码辨别一个程序员是大神还是咸鱼?

作者: 慌翯 | 来源:发表于2019-06-18 14:39 被阅读3次

    辨别一个程序员的水平唯一的办法就是看 产出质量

    关键字:普通程序员

    ——————————————无耻割————————————————————

    算法和数据结构都是锦上添花,并非是雪中送炭。而一个程序员的水准大致上是可以通过之前的代码质量估算出来的。【如果你可以获得此程序员的真实编写的代码,比如原创的Github】。

    举个栗子:下面是我最近在单位一个同事写的代码,Java语言

    private boolean checkProportions(String str, Integer grades) {

    String proportion = str;

    for (int i = 1; i < grades; i++) {

    String st = proportion.substring(proportion.lastIndexOf(",") + 1);

    if (st.equals(""))

    return false;

    proportion = proportion.substring(0, proportion.lastIndexOf(","));

    }

    if (proportion.equals(""))

    return false;

    str = str.replace(".", "");

    str = str.replace(",", "");

    for (int i = str.length(); --i >= 0; ) {

    int chr = str.charAt(i);

    if (chr < 48 || chr > 57)

    return false;

    }

    return true;

    }

    大致上的功能就是将 1,2,6.2,4,1 的字符串判断每一 ‘,’内是数字,而且长度符合规定

    这样的代码看上第一眼就觉得非常的丑陋。所以在我的要求之下,进行了一次重构。

    private static boolean checkProportions(String str, int grades) {

    String[] proportions = str.split(",");

    if (proportions.length != grades) {

    return false;

    }

    for (String s : proportions) {

    if (!NumberUtils.isNumber(s)) {

    return false;

    }

    }

    return true;

    }

    这里看上去差不多就Ok。这样的代码其实也并没有用到什么数据结构和算法,就是很简单的字符串处理。

    实际情况:在我们写的绝大多数的代码里面,大部分属于业务逻辑,极少部分的代码需要使用到算法和数据结构,在这样的情况下,我们能使用的到的技能最为关键的是让代码如何更加合理。而让代码更加优秀的方式是通过千锤百炼的重构,而重构是极大的考验一个程序员耐心和能力的东西。

    质量的范围广泛,我从下面几个小方面聊聊。

    出货能力:如果一个程序,算法再精妙,不能出货都是扯淡,我看过某某大神,算法溜得很,但是一个人完全做不到按照工程需要把事情给做完。

    优化能力:并没有一个程序是一步到位的,一个工程的交出去可运行了,那才是第一步,很多时候随着业务的增大,对性能的要求越来越高,有一定对于代码优化的能力也是比较重要的。

    调错能力:项目越大,遇见的Bug也就是越离奇,这个时候需要强大的Debug能力,找出那个最为关键的错误点,甚至于追溯底层框架的源码。

    技术掌控:你项目能用Spring,Hibernate等等框架,但是有没有想过,这些技术你真的可以掌控么,如果有一天你的框架版本需要升级,真的做得到么?甚至于从Hibernate转为MyBatis。

    算法和数据结构是影响到一些核心区的问题,但是其他的一些技能,比如面向对象的架构设计,代码的低耦合,那都是对整个项目有着直观改善的技能。并非是贬低算法,而在实际工作中,有太多比算法更重要的问题了。

    最后补充一点吧:从善如登从恶如崩,毋以恶小而为之,此古人诚不欺我。

    在这里我相信有很多想要学习Python的小伙伴,我自己是一名从事了多年开发的Python老程序员,辞职目前在做自己的私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的学习干货,从最基础到,各种框架都有整理,送给每一位Python小伙伴,想要获取的可以关注我并在后台私信我:学习,即可免费获取。人生苦短,我用Python!

    相关文章

      网友评论

        本文标题:如何通过10行代码辨别一个程序员是大神还是咸鱼?

        本文链接:https://www.haomeiwen.com/subject/rwjfqctx.html