最新公告
  • 欢迎您光临正版社,本站秉承服务宗旨 履行“站长”责任,正版只是起点 服务永无止境!立即加入正版社
  • 每一个程序员都追求写出高效的代码,写出通俗易懂同事能看懂能迅速理解的代码是程序员的一种美德。你要知道写代码科不仅仅是为了炫耀自己的牛逼技术,写代码是为了更多的人能用到自己写出的程序,步骤的重复操作是对程序员的一种鼓励,就算你有再牛逼的技术,写出的程序没人使用不能为公司创造财富那么他就称为一个垃圾!不就得将来电脑文件清除他也就不复存在了。

    当程序员就是为了提高社会的效率,为公司能够创造财富,能有更多的人使用自己的程序。这样才能发挥程序员真正的作用,但程序员作为一个特殊的工种,形成的程序员思维必须要了解。

    那些通俗易懂的代码往往都是有特定的规范的,从目录结构,整体架构到写出代码的风格,接口的表现形式,这些往往在项目上手的时候就应该定制好的,我们可以绘制思维导图,写写技术文档,接口文档等等文档用于给初见项目或是接手的程序员一个概览,介绍一下整体结构,技术栈,以及一些坑。

    技术选型注意不要选择没人用的(找不到帮助)、无人维护的(发现 bug 会让你很痛苦)、很难用的(你自己懂也有可能要方便被人懂,选择框架尤其注意,这也是 Vue 热门的原因吧)。

     

    控制代码风格可以使用 eslint 和 prettier。前者用于代码规范控制,后者用于格式化代码。统一的格式化工具配置也是十分必要的,尤其在协作的时候,如果两边的格式化格式不同的话,diff 也是地狱般的体验。

    代码不规范,同事两行泪…….呜呜呜

    在有规范之后,还要注意不要为了追求极简写些难懂的代码,你必须控制简洁和可读性间的平衡,例如

    i = i ? (i < 0 ? Math.max(0, len + i) : i) : 0

    而有时候,hack 是无可奈何的事情,这个时候必须做好注释。但是需要注意,注释描述的不是做什么(what),而是为什么(why)

    一段可读性过关的代码中完全能看出它在干嘛,看不出来做什么的代码很大几率是不及格的代码了。

    可读性主要由命名入手,变量名称对整段程序理解的重要性不言而喻;另外,对于一些功能不太好看出来的几个语句的集合,即使不会复用,也可以将其包装成函数,通过函数命名告诉读程序的人(而不是电脑)这一段代码的作用。

    /* 还有一个例子是把对象绑到 vue 的 this,然后不 import 直接用
       对于这个做法...看你喜欢吧
       毫无疑问对于模块化的项目,一个模块就不应该挂在其他地方
       (虽然这么挂上去可能会省掉 webpack 的模块调用,让你的程序快一丁丁丁丁丁丁丁点)
       如果你真的懒到不写 import
       请一定要在绑定的变量加上 $
       至少你这个时候全局搜索还是很容易找到来源的
    */
    Vue.prototype.$axios = Axios

    有了规范的编码,仍不足以让整个代码库足够简单,控制代码复杂度是下一个目标。

    一定要理解你的所做系统的需求,否则只会在误解和错误的恶性循环中越陷愈深,浪费珍贵的时间。

    我最近就接手重构一个前后端耦合的项目,业务逻辑很是复杂,理解需求这一步绝不能逃避,只能一个个细节问清楚。

    不要看到大佬提什么需求都一股脑加进去,即使所提的需求很简单,但你需要有足够的时间评估这个功能。

    新增需求和需求修改上也是一个道理,不能破坏以前的功能,保证整个系统的纯洁。

    所以优雅地添加功能真的很耗时间。

    至于真的不可行的需求,请勇敢说不。如果对结构影响很大的需求最好不要改了。不过这是理想,中国程序员好像没有什么地位


    在工时预估方面,可以尝试拆分任务,并且要假设一切都会更花时间

    拆分任务不仅可以让你更准确地估计实现时间,还能让你的工作更有条理。

    至于优先度,还请结合上司指令和实现难度自己衡量吧。

    总之,一个完美的系统不是一步就能造好的。


    对于未来的功能,你可以留个后路,但不要提早瞎做“自以为需要”的功能。不然到时候写了一堆没用的代码都是浪费时间,还可能让提高程序复杂度。

    优化方面,参考著名的“不要过早优化”。让正确的程序更快,要比让快速的程序正确容易得多。开发和优化当作两个独立的步骤来做。

    Premature optimization is the root of all evil.

    维护是软件开发重要而困难的一环。不过如果你按着上面所说的做,我相信…维护不会是难事。

    但是如果你的代码写得很恶心,你会为之付出代价。

    答应我:宁愿在实现功能时很痛苦,也不要在维护的时候更痛苦。


    日常

    • 重复的轮子伟大的开源模式让整个编程界发展加速。

      可以站在巨人肩膀上,就别重复造轮子。

      除非你真的很闲(工作不饱和哦~),或者你找到的轮子实在不合心意(如老旧、不优雅、功能太繁杂)

    • 重复的工作「重复」是程序员最大的敌人!

      计算机就是负责给你做重复的事情,程序员为什么还要做哦?教计算机做就好了!

      你可以依赖 node.js 写处理程序处理你的文档,在编辑代码的时候可以活用快捷键修改代码。

    • 自我开发程序员拒绝 996,但是在家不意味着闲着,你仍需要为自己的脑子投资。

      这一行变化还挺快,虽然我也真的完全不会看未来走向,不懂什么语言和技术会在以后更有价值,但是尽量不要局限与学习单个语言,也不要因为是前端就完全不学后端。

      我觉得这样才能当一个有格局的程序员。

    • 解决问题如果你不能流利解释一个问题,那说明你还是没懂,也就是还没真正解决这个问题。若是没真正解决问题,便不能举一反三解决更多类似问题。

      解决问题要明白问题如何产生,先思考,后行动。行动无解可以到谷歌搬救兵,搜索不到的话……

      最终方案就是到对应社区提问,但是提问同样是一个学问

    • 生产力不是代码越多生产力越高,程序员应该都懂,至于老板怎么看,就不得而知了。
    1. 本站所有资源来源于用户/著作者上传和网络收集整理,如有侵权请邮件联系客服删除!zhengbanshe@163.com
    2. 本站资源仅供学习之用!如需商业用途,请购买正版授权!禁止传播一切盗版内容,盗版侵权后果自负!
    3. 如果您也有好的资源,您可以投稿发布,本站免费为正版资源著作者提供展示推广!

    正版社 » 程序员思维与追求,代码不规范,同事两行泪!

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: zhengbanshe@163.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 38会员总数(位)
    • 43资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 130稳定运行(天)

    正版社为大家提供最优质的正版资源集合!

    开通SVIP 资源投稿