首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ThoughtWorks敏捷实践

反馈则是开发任何环节,包括代码质量、自动化测试、部署、项目进度、需求变更、客户验收等,而且反馈越快越好。...帮助Team Leader了解哪些领域需要更多帮助,从而更好地分配资源。 下面是我们团队Standup: PS: Standup时候,选一实物作为Token,发言时拿着Token。...Story kick off也是一项短时间高收益活动,因为我们DEV界,有一句邪门定律: 猜出来需求往往是不靠谱,最终需要打回重做!...也经历过客户要求测试覆盖率项目,有专门测试覆盖率工具(coveralls)来检测代码库,有的甚至集成CI上作为一个硬性指标。 所以,TDD必须在一个有测试项目中去讲。...开发人员每天都在代码库提交代码,版本控制工具(比如Git)提交前必须更新代码库最新代码(解决冲突,代码合并,应用更改),然后将代码提交到代码

1.9K30

我们开发需要遵循几个设计原则!

单一职责原则是实现高内聚、低耦合指导方针,很多代码重构手法中都能找到它存在,它是最简单但又最难运用原则,需要设计人员发现类不同职责并将其分离,而发现类多重职责需要设计人员具有较强分析设计能力和相关重构经验...意思是一个系统或者模块,对于扩展是开放,对于修改是关闭。一个 好系统是不修改源代码情况下,可以扩展你功能。而实现开闭原则关键就是抽象化。...(2)依赖倒转原则常用实现方式之一是代码中使用抽象类,而将具体类放在配置文件。 (3)类之间耦合:零耦合关系,具体耦合关系,抽象耦合关系。...一个类应该对自己需要耦合或调用类知道得最少,你(被耦合或调用类)内部是如何复杂都和我没关系,那是你事情,就知道你提供public方法,就调用这么多,其他一概不关心。...这个意思就是说,如果你想增加一个新功能,你可以很容易不改变已测试过代码前提下增加新代码

47920

.NETC# 你可以代码写多个 Main 函数,然后按需要随时切换

.NET/C# 程序从 Main 函数开始执行,基本上各种书籍资料都是这么写。不过,我们可以写多个 Main 函数,然后项目文件设置应该选择哪一个 Main 函数。...你可能会觉得这样没有什么用,不过如果你应用程序不同编译条件下有不同启动代码,或者你需要持续去大范围修改启动代码,那么做一个 Main 函数选择器是一个不错选择。 在哪里选择 Main?...presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> App.xaml.cs 代码比较简单...于是我们需要修改 csproj 代码(以下红色表示删除行,绿色表示新增行): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...Demo", }; window.Show(); base.OnStartup(e); } } } 文件

42910

同事C代码#、##把秀了~

#和##对于大部分C语言玩得还算比较溜朋友并不是很陌生,不过能把这两个知识点游刃有余应用到所在代码每个角落,似乎并没有几个人能够做到,学时候朗朗上口,而编码时候却抛之脑后。...但是今天bug菌还是想重新介绍这两个“兄弟”,希望大家能够写出"秀"一点代码~ 1 #和##基础 对于这两个语法功能都比较简单,且都是预处理阶段做一些工作 : #主要是将宏参数转化为字符串 ##主要是将两个标识符拼接成一个标识符...首先要知道原因 : 进行宏定义嵌套情况,#或者##仅在当前宏有效,嵌套宏不会再次展开,既然当前宏无法展开,那么只能再加一级宏定义作为转换宏进行展开,看能不能解决该问题: #include <stdio.h...1、结构体定义妙用 下面是bug菌经常在项目代码中用到##结构体定义法,也是非常多开源代码惯用做法,相比常规结构体定义法,确实省去很多重复代码。...bug菌代码中跟大家都标注了,相信大家一眼就能看懂,似乎并没有想象那么难。

11810

在工作常用代码管理

说是管理其实就是把常用一些JS方法,自己保存下来,这样以后工作可以比较方便使用。 哪些方法可以、或是说值得保存呢?...还有一些是扩展型函数,例如,判断数组,增加、删除数组什么, 还有一些工具类,什么复制属性啊,字数判断啊,DOM节点操作啊,轮播广告啊,日期操作 总之,上面列出那些内容JS代码都是与具体业务逻辑无关...四是有时间就在网上搞个目录,这样以后自己也好根据需要查找。 这里关键是命名,要有自己命名规则。...============= 写这些东西基本都是“思路或方法”占多数,觉得思维层次上是高于具体实现。...这也是为什么很少写JS具体实现原因,总觉得应该给我粉丝们一些不一样东西,一些别的地方得不到东西。因为网上JS教程很多,又写不好JS教程,没耐心一步一步详细写。

81550

看ASM代码强势插入

前言 之前写过一篇AOP文章 看AspectJAndroid强势插入 是通过AspectJ来实现,本篇是『巴掌』投稿,他通过使用ASM来讲解了Java和AndroidAOP方法,非常值得大家学习交流...使用者所需要就是对所需要统计耗时方法头部加指定注解@Cost就可以使用了。...然后便是插入时间统计代码了,之前一篇文章就有介绍过 手摸手增加字节码往方法体内插代码(http://www.wangyuwei.me/2017/01/22/%E6%89%8B%E6%91%B8%E6%...首先来看看插入前代码: ? 给newFunc2方法增加了@Cost注解,但没给newFunc1方法增加,然后开始用ASM提供类生成插入代码二进制流: ?...ASM提供类生成一个插入代码字节流再丢给虚拟机,自定义代理得实现ClassFileTransformer,并且提供premain()方法,写有premain方法类得MANIFEST.MF显示调用

4.8K31

是这样理解--SVM,不需要繁杂公式那种!(附代码)

但几何间隔因为除上了,使得缩放w和b时候几何间隔值是不会改变,它只随着超平面的变动而变动,因此,这是更加合适一个间隔。换言之,这里要找最大间隔分类超平面**“间隔”指的是几何间隔。...在生活我们都会认为没有威胁才是最好,比如拿成绩来说,自己考了第一名99分,而第二名紧随其后98分,那么就会有不安全感觉,就会认为那家伙随时都有可能超过。...再简要概括下,即以下三点: 实际,我们会经常遇到线性不可分样例,此时,我们常用做法是把样例特征映射到高维空间中去(映射到高维空间后,相关特征便被分开了,也就达到了分类目的); 但进一步,如果凡是遇到线性不可分样例...而SVM理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量距离,这个进行复杂核函数计算时优势很明显,能够大大简化模型和计算。...代码实现 新闻分类 GitHub:点击进入 6.

99311

反思管理犯过重大错误

近一年来,管理犯下2个重要错误。该错误导致团队结构不清晰,骨干核心人员不稳定,易流失。...团队人员结构分布是 1个经理、2个高级、3级、4初级;组内划分是分成了3个小组,2个业务测试小组,一个测试基础小组。...组内结构划分可见下图所示: 二、是如何犯错,以及为什么犯错 错误一:资源错配 对于组长选择,以及组内骨干选择,如下图所示: 其中标记为组长,是团队内部小组内被任命为小组长,标记为骨干...两个业务小组,初中级员工干中高级员工活,中高级人员为相对边缘角色。这样资源错配,直接引发了核心、骨干员工离职率高后果。 为什么会这样做: 本质上是一个“谁能谁上”还是“谁上谁能”问题。...喜欢将所有有挑战性、开拓边界任务给到这类员工。 为什么会这样做: 本质上是 个人喜好问题(因为也属于这类人)。

1.1K10
领券