作为卓越工程文化的一部分,CodeReview其实一直在进行中,只是各团队根据自身情况张驰有度,松紧可能也不一,这里简单梳理一下CR的方法和团队实践。一、为什么要CR 提前发现缺陷在CodeReview阶段发现的逻辑错误、业务理解偏差、性能隐患等时有发生,CR可以提前发现问题。提高代码质量主要体现在代码健壮性、设计合理性、代码优雅性等方面,持续CodeReview可以提升团队整体代码质量。统一规范和风格集团编码规范自不必说,对于代码风格要不要统一,可能会有不同的看法,个人观点对于风格也不强求。但代码其实不是写给自己看的,是写给下一任看的,就像经常被调侃的“程序员不喜欢写注释,更不喜欢别人不写注
作为卓越工程文化的一部分,CodeReview其实一直在进行中,只是各团队根据自身情况张驰有度,松紧可能也不一,这里简单梳理一下CR的方法和团队实践。一、为什么要CR 提前发现缺陷在CodeReview阶段发现的逻辑错误、业务理解偏差、性能隐患等时有发生,CR可以提前发现问题。提高代码质量主要体现在代码健壮性、设计合理性、代码优雅性等方面,持续CodeReview可以提升团队整体代码质量。统一规范和风格集团编码规范自不必说,对于代码风格要不要统一,可能会有不同的看法,个人观点对于风格也不强求。但代码其实不是写给自己看的,是写给下一任看的,就像经常被调侃的“程序员不喜欢写注释,更不喜欢别人不写注
前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。 为什么技术人员包括leader都要做codereview谚语曰:'TalkIsCheap,ShowMeTheCode'。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个
前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。 为什么技术人员包括leader都要做codereview谚语曰:'TalkIsCheap,ShowMeTheCode'。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个
最近很闲,所以想着优化一下自己在使用的其他开发者开发的插件(名称为git-commit-lint-vacode)。看了眼这个插件仓库的Issus,发现一个选中更改文件后,使用插件会聚焦错误的地方的问题。经过我的测试,发现有无关仓库的数量,只要选中更改文件后,重新聚焦一定会聚焦到该文件。而当有多个仓库时,不管你之前选中的时哪个仓库的输入框,最后都会聚焦到第一个仓库的输入框中。一开始我以为这只是一个小问题,众所周知,VSCode是用Electron开发的,那不是只要找到对应仓库的输入框,聚焦一下就完事咯?没想到找了两天,完全找不到相关的内容,因为他们根本没给每个仓库加上focus这个函数(如果有,
最近很闲,所以想着优化一下自己在使用的其他开发者开发的插件(名称为git-commit-lint-vacode)。看了眼这个插件仓库的Issus,发现一个选中更改文件后,使用插件会聚焦错误的地方的问题。经过我的测试,发现有无关仓库的数量,只要选中更改文件后,重新聚焦一定会聚焦到该文件。而当有多个仓库时,不管你之前选中的时哪个仓库的输入框,最后都会聚焦到第一个仓库的输入框中。一开始我以为这只是一个小问题,众所周知,VSCode是用Electron开发的,那不是只要找到对应仓库的输入框,聚焦一下就完事咯?没想到找了两天,完全找不到相关的内容,因为他们根本没给每个仓库加上focus这个函数(如果有,
@目录一、前置准备-注册配置测试账号1.注册测试号2、配置网页回掉域名二、H5获取授权信息1、微信授权分为静默授权(snsapi_base)和非静默授权(snsapi_userinfo)2、代码实现Tips:因为申请公众号需要¥300。so我用的是测试号。【白嫖永远不亏】需要注意的是测试号是和个人微信号关联起来的,不是公众号主体关联。。也就是每个人都可以申请,而不是必须有公众号主题才可以。测试号和公众号是独立的。一、前置准备-注册配置测试账号1.注册测试号去微信公众平台注册一个测试号。注意这是测试账号【白嫖的快乐】你会进入到这个界面。会生成测试用的appid让你测试授权。记下来等会要用。2、配
@目录一、前置准备-注册配置测试账号1.注册测试号2、配置网页回掉域名二、H5获取授权信息1、微信授权分为静默授权(snsapi_base)和非静默授权(snsapi_userinfo)2、代码实现Tips:因为申请公众号需要¥300。so我用的是测试号。【白嫖永远不亏】需要注意的是测试号是和个人微信号关联起来的,不是公众号主体关联。。也就是每个人都可以申请,而不是必须有公众号主题才可以。测试号和公众号是独立的。一、前置准备-注册配置测试账号1.注册测试号去微信公众平台注册一个测试号。注意这是测试账号【白嫖的快乐】你会进入到这个界面。会生成测试用的appid让你测试授权。记下来等会要用。2、配
[EFCore]EFCoreCode-First移除外键——重写SQL生成器使用EFCore时最烦的就是生成的某些SQL其实并不是你想要的结果,例如外键约束等等。一个最简单的例子就是,因为EFCore会根据导航属性生成外键约束等原因,导致很多开发者抛弃了更易维护的CodeFirst模式,而转为DbFirst以获取更自由的数据库结构。其实我们可以通过重写EFCore的MigrationsSqlGenerator来解决:publicclassCustomMigrationsSqlGenerator:MigrationsSqlGenerator{publicCustomMigrationsSqlGe
[EFCore]EFCoreCode-First移除外键——重写SQL生成器使用EFCore时最烦的就是生成的某些SQL其实并不是你想要的结果,例如外键约束等等。一个最简单的例子就是,因为EFCore会根据导航属性生成外键约束等原因,导致很多开发者抛弃了更易维护的CodeFirst模式,而转为DbFirst以获取更自由的数据库结构。其实我们可以通过重写EFCore的MigrationsSqlGenerator来解决:publicclassCustomMigrationsSqlGenerator:MigrationsSqlGenerator{publicCustomMigrationsSqlGe