加入收藏 | 设为首页 | 会员中心 | 我要投稿 保山站长网 (https://www.0875zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

远程可以,降薪不行,国内网友:远程 007 不是闹着玩的

发布时间:2021-02-19 15:35:24 所属栏目:外闻 来源:互联网
导读:什么是堆? 堆其实就是一种特殊的队列优先队列。 普通的队列游戏规则很简单:就是先进先出;但这种优先队列搞特殊,不是按照进队列的时间顺序,而是按照每个元素的优先级来比拼,优先级高的在堆顶。 这也很容易理解吧,比如各种软件都有会员制度,某软件用了会

什么是堆?

堆其实就是一种特殊的队列——优先队列。

普通的队列游戏规则很简单:就是先进先出;但这种优先队列搞特殊,不是按照进队列的时间顺序,而是按照每个元素的优先级来比拼,优先级高的在堆顶。

这也很容易理解吧,比如各种软件都有会员制度,某软件用了会员就能加速下载的,不同等级的会员速度还不一样,那就是优先级不同呀。

还有其实每个人回复微信消息也是默默的把消息放进堆里排个序:先回男朋友女朋友的,然后再回其他人的。

这里要区别于操作系统里的那个“堆”,这两个虽然都叫堆,但是没有半毛钱关系,都是借用了 Heap 这个英文单词而已。

 

优化原则

你应该做的:遵循 KISS 原则、DRY 原则、各种代码可读性和架构设计原则等。

你不应该做的:引入过多临时性、Hack 代码;功能 Work 就 OK,欠一堆技术债(出来混总是要还的)。

优化手段

常用的可维护性优化手段有哪些?这里我总结了 4 个套路:

1)编码规范

无规矩,不成方圆。

  • 编码:推荐《Java 开发手册》,另外也推荐 The Art of Readable Code 这本书。
  • 日志:无盲点、无冗余、TraceID。
  • 测试:代码覆盖度、自动化回归。

2)代码重构

别灰心,代码还有救。

何时重构:任何时候代码中嗅到坏味道(bad smell)。

重构节奏:小步迭代、回归验证。

重构 vs. 重写:需要综合考虑成本、风险、并行版本维护等因素。

推荐阅读:Refactoring: Improving the Design of Existing Code。

3)数据驱动

相信数据的力量。

  • 系统数据:监控覆盖、Metrics 采集等,对于理解系统、排查问题至关重要。
  • 业务数据:一致性校验、旧数据清理等;要相信,数据往往比代码要活得更久。

4)技术演进

技术是第一生产力。

  • 死守阵地 or 紧跟潮流? 需要综合评估风险、生产力、学习成本。
  • 当前方向:微服务化、容器化。

三 结语

Truth lies underneath the skin - 真理永远暗藏在表象底下。

对,就在这句话底下。

欢迎各位技术同路人加入阿里云云原生应用研发平台 EMAS 团队,我们专注于广泛的云原生技术(Backend as a Service、Serverless、DevOps、低代码平台等),致力于为企业、开发者提供一站式的应用研发管理服务,内推直达:pengqun.pq # alibaba-inc.com,有信必回。



(编辑:保山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读