在这篇文章中,我们将讨论以下话题:
- Disney Hotstar 如何捕获 10 亿表情符号
- 10 个提高代码质量的良好编码原则
- 顶级网络安全速查表
- VPN 如何工作?
- 什么是 cookie?
10 个良好编码原则
软件开发需要良好的系统设计和编码标准。我们在下图中列出了 10 个良好的编码原则。
01 遵循代码规范
当我们编写代码时,遵循业界成熟的规范非常重要,如”PEP 8”、“Google Java Style”。遵守一套约定的代码规范确保代码质量一致且可读。
02 文档和注释
好的代码应该有清晰的文档和注释来解释复杂的逻辑和决策,注释应该解释为什么采取某种方法(“Why”)而不是具体在做什么(“What”)。文档和注释应该清晰、简洁,并持续更新。
03 健壮性
好的代码应该能够处理各种意外情况和输入而不会崩溃或产生不可预测的结果。最常见的方法是捕获和处理异常。
04 遵循 SOLID 原则
“单一职责”、“开放/封闭”、“里氏替换”、“接口隔离”和”依赖倒置”——这五个原则(简称 SOLID)是编写可扩展且易于维护代码的基石。
05 易于测试
软件的可测试性特别重要。好的代码应该易于测试,既要通过降低每个组件的复杂性,又要支持自动化测试以确保其行为符合预期。
06 抽象
抽象要求我们提取核心逻辑并隐藏复杂性,从而使代码更灵活和通用。好的代码应该有适度的抽象级别,既不过度设计也不忽视长期的可扩展性和可维护性。
07 利用设计模式,但不要过度设计
设计模式可以帮助我们解决一些常见问题。然而,每个模式都有其适用场景。过度使用或误用设计模式可能使你的代码更复杂且难以理解。
08 减少全局依赖
如果我们使用全局变量和实例,我们可能会陷入依赖和混乱的状态管理。好的代码应该依赖局部状态和参数传递。函数应该是无副作用的。
09 持续重构
好的代码是可维护和可扩展的。持续重构通过尽早识别和修复问题来减少技术债务。
10 安全是首要任务
好的代码应该避免常见的安全漏洞。
网络安全攻击(7 层 OSI 模型)
下图显示了 7 层 OSI 模型中一些可能的网络攻击。
- 应用层:恶意软件注入、DDoS 攻击
- 表示层:编码/解码漏洞、格式字符串攻击、恶意代码注入
- 会话层:会话劫持、会话固定攻击、暴力攻击
- 传输层:中间人攻击、SYN/ACK 洪水
- 网络层:IP 欺骗、路由表操纵、DDoS 攻击
- 数据链路层:MAC 地址欺骗、ARP 欺骗、VLAN 跳跃
- 物理层:窃听、物理篡改、电磁干扰
VPN 工作原理
下图显示了我们使用和不使用 VPN 访问互联网的方式。
VPN(虚拟专用网络)是一种在较不安全的网络(如公共互联网)上创建安全加密连接的技术。VPN 的主要目的是为数据和通信提供隐私和安全。
VPN 充当加密数据传输的隧道。任何外部方都无法看到传输中的数据。
VPN 分 4 步工作:
- 在我们的设备和 VPN 服务器之间建立安全隧道
- 加密传输的数据
- 隐藏我们的 IP 地址,使我们的互联网活动看起来来自 VPN 服务器
- 我们的互联网流量通过 VPN 服务器路由
VPN 的优势
- 隐私
- 匿名性
- 安全性
- 加密
- 隐藏原始 IP 地址
VPN 的劣势
- VPN 封锁
- 减慢连接速度
- 对 VPN 提供商的信任
什么是 Cookie?
想象 Bob 第一次去咖啡店,点了一杯中杯浓缩咖啡加两块糖。收银员在卡片上记录 Bob 的身份和偏好,并将卡片和咖啡一起交给 Bob。
下次 Bob 去咖啡店时,他向收银员出示偏好卡。收银员立即知道客户是谁以及他喜欢什么样的咖啡。
Cookie 就像偏好卡。当我们登录网站时,服务器向我们发布一个包含少量数据的 cookie。Cookie 存储在客户端,所以下次我们向服务器发送请求时带上 cookie,服务器立即知道我们的身份和偏好,无需查找数据库。
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP97: 10 Good Coding Principles to Improve Code Quality。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。