最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
避免无意义的注释评论,不添加任何价值。如果通过阅读代码可以清楚地看到某些内容,则评论只会增加噪音。
考虑是否可以改进代码,以便不再需要注释。通过改进命名,重构(例如,提取函数)或引入解释变量,通常可以解释解释代码正在做什么以及有时为什么的注释。
考虑一个单元测试是否会更好的沟通。构造良好和命名的单元测试可以解释代码背后的原因,以及在不同情况下演示和验证其行为。
解释从代码中不清楚的推理。预计未来的维护者可能会对代码感到困惑。示例包括边缘案例处理,必须解决的约束以及性能优化。
提请注意令人惊讶的“陷阱”。如果某些事情不直观或者让你感到困惑,可能值得注意帮助他人。示例包括看似不合逻辑的业务“逻辑”,以及令人惊讶的库代码行为。
解释特定“魔术值”的选择。这些包括框架/服务器设置,超时,限制,批/池大小,优先级,缓存配置和排序。我们熟悉从代码中将这些值提取到常量或配置中,但是经常忽略选择实际值的原因。在某些情况下,这是在花费大量精力进行负载测试等活动以便选择适当的值之后。记录这些内容可以更有信心地进行未来的更改。
突出显示错误解决方法,链接到问题报告。这样可以在以后修复基础错误(例如库中)时轻松识别和删除它们。查看错误修复。
记录代码的远程和断开部分之间的关系。通过代码无法显示这些内容是非常罕见的。它们通常是某种方式的东西,因为远处的东西(甚至可能在下游系统中)是某种方式 - 例如依赖性或匹配行为。改变一个可以以令人惊讶的方式打破另一个,或者引入用户体验的不一致。
最后
一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。
这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。
请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析
/bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**