zoukankan      html  css  js  c++  java
  • 我理解的正确的代码

    Strikingly 要求我整理一份几百行差不多是我最高成就的代码给他们,来获得面试的机会。

    我很纠结,他们想从几百行代码里看出什么来呢?

    我第一个想到的是把我写过的轮子的核心类抽象成接口,整理到一起,好让他们看到我是如何设计我的轮子的。

    然而我并没有发明过轮子。。

    之后我觉得把包含了华丽技巧的代码整理到一起,应该能行。

    然而什么是技巧呢,我好像并没有掌握过什么牛逼技巧啊。。

    我很纠结,Strikingly 是我非常喜欢的公司,并且果然机会往往垂青有所准备的人,而我却没有准备好。。

    我只能把自己最近花了2天写的脑图 Demo 的各部分代码发给了他们。。一个基于各种别人开发的框架/库的应用层面的东西。。

    结果我确实没能成功加入 Strikingly 哈哈,不过官方原因跟代码不代码的无关。

    好了,僵硬地切入正题,说说我理解的正确的代码:

    1.逻辑清晰,书写工整简单:

    就是易读。代码要能够快速被别人(1个月后的自己)读懂,并且相对简单的逻辑可以减少出错的几率。这里要求但不限于:变量名和函数名要语义化,逻辑代码尽量使用有意义函数拆分开,必要的注释,美观且一致的代码风格。

    2.接口简单:

    不管是为自己还是其他人,简单优雅的接口会让你的代码更易被使用。这里要求合理地抽象业务逻辑,对代码进行适度封装。

    3.容易被测试:

    我所知道的人类是绝不可能写出绝对正确的程序的。那么我们只能在尽可能广的范围下确保程序不出错。这时候就要求代码容易被测试所覆盖,以证明代码在一个限定范围内的正确性。

    4.从容应对需求变更:

    我等杂碎但非咸鱼的程序猿追求的目标。

  • 相关阅读:
    CF 552(div 3) E Two Teams 线段树,模拟链表
    单词接龙
    书的复制 动规,贪心
    C++文本处理&造轮子
    【NOIP2015】【Luogu2661】信息传递(有向图最小环)
    平时上机练习的注意点(NOIP2018)
    【SHOI2009】【BZOJ2028】会场预约(线段树染色)
    【AHOI2009】【BZOJ1798】Seq 维护序列seq(线段树模板,易错提醒)
    2018 “百度之星”程序设计大赛
    2018 “百度之星”程序设计大赛
  • 原文地址:https://www.cnblogs.com/LoadingChan/p/5018314.html
Copyright © 2011-2022 走看看