编程原则 简单性 消除“多余的复杂性”,以简单清晰的逻辑编写代码,不理解的代码无法修复改进 可读性 代码是写给人看的,而不是机器 编写可维护代码的第一步是确保代码可读 代码格式:使用 gofmt 自动格式化代码,保证所有的 Go 代码与官方推荐格式保持一致 总结:提升可读性,风格一致的代码更容易维护、需要更少的学习成本、团队合作成本,同时可以降低 Review 成本 命名规范 variable 简洁胜于冗长 缩略词全大写,但当其位于变量开头且不需要导出时,使用全小写 变量距离其被使用的地方越远,则需要携带越多的上下文信息 全局变量在其名字中需要更多的上下文信息,使得在不同地方可以轻易辨认出其含义 function 函数名不携带包名的上下文信息,因为包名和函数名总是成对出现的 函数名尽量简短 当名为 foo 的包某个函数返回类型 Foo 时,可以省略类型信息而不导致歧义 当名为 foo 的包某个函数返回类型 T 时(T 并不是 Foo),可以在函数名中加入类型信息 package 只由小写字母组成。不包含大写字母和下划线等字符 简短并包含一定的上下文信息。例如 schema、task 等 不要与标准库同名。例如不要使用 sync 或者 strings 性能优化建议 性能优化的前提是满足正确可靠、简洁清晰等质量因素 性能优化是综合评估,有时候时间效率和空间效率可能对立针对 Go 语言特性,介绍 Go 相关的性能优化建议 以下是一些通过优化图片来优化 Web 前端的方法: 压缩图片:压缩图片可以减少图片的文件大小,从而减少加载时间。 使用矢量图形:使用矢量图形(如 SVG)可以减少文件大小,并且可以在不失真的情况下无限缩放。 使用 WebP 格式图片:WebP 是一种由 Google 开发的图片格式,可以大幅减少文件大小,从而减少加载时间。WebP 格式图片可以在 Chrome、Firefox、Edge 和 Opera 等现代浏览器中使用。 使用适当的图片格式:使用适当的图片格式可以大大减少图片的文件大小。对于需要透明背景的图片,使用 PNG 格式;对于颜色较少的图像,使用 GIF 格式;对于照片和复杂图像,使用 JPEG 格式。 移除图片元数据:图片通常包含元数据,例如拍摄日期、相机型号等。移除这些元数据可以减少图片的文件大小。 缓存图片:将图片缓存在浏览器中可以减少页面加载时间。你可以使用浏览器缓存机制或者使用 CDN 来缓存图片。 使用 CSS Sprites:使用 CSS Sprites 可以将多个图片合并成一个大图,减少页面中的图片数量,从而减少 HTTP 请求次数,减少页面的加载时间。 图片预加载:通过预加载图片,可以提高用户体验并减少加载时间。你可以使用 preload 或 prefetch 标签来预加载图片。 前端资源优化 对于这些资源通用的优化手段那就是压缩和合并,对这些资源进行压缩和合并后有如下好处:减少http请求数量 减少请求资源的大小 通常情况下,可以采用下面的方法优化SQL对数据操作的表现: (1)减少对数据库的查询次数,即减少对系统资源的请求,使用快照和显形图等分布式数据库对象可以减少对数据库的查询次数。 (2)尽量使用相同的或非常类似的SQL语句进行查询,这样不仅充分利用SQL共享池中的已经分析的语法树,要查询的数据在SGA中命中的可能性也会大大增加。 (3)避免不带任何条件的SQL语句的执行。没有任何条件的SQL语句在执行时,通常要进行FTS,数据库先定位一个数据块,然后按顺序依次查找其它数据,对于大型表这将是一个漫长的过程。 (4)如果对有些表中的数据有约束,最好在建表的SQL语句用描述完整性来实现,而不是用SQL程序中实现。