求索

Make Something Different

关于PWA落地问题的思考

PWA是最近一个热门话题,很多开发同学都在尝试落地,其中也有些还在犹豫。这篇文章主要阐述对几个问题的看法,包括iOS支持的问题等,供大家参考。 注: 这不是一篇介绍PWA的文章。

2017-03-29 03:20:39

阅读数:7961

评论数:7

我们真的需要那么多专项吗?

在一个软件开发组织里,若干职能单位负责各个业务模块,然后就是大小各种专项。专项可以横向拉通各个单位,但专项一多,或者有点泛滥,各个业务单位的职责就会有所淡化,目标也有模糊的地方。专项就像是东厂、西厂,可以四处横行,而业务单位却不断要进行各种配合。利也? 弊也?
所谓专项一般为攻关,拉通多个沟通不畅...

2016-03-30 01:05:49

阅读数:1720

评论数:0

软件研发管理:置身其中看问题

从局外人的角度的确可以清晰的发现问题,但很难得到一个合适的解决方法。** 只有将自己融进公司,融进团队,才能更清楚了解问题的本质,才能有好的应对方案。

2015-10-27 23:46:21

阅读数:2056

评论数:0

Google C++ Style Guide的哲学

Google C++ Style Guide并不是一个百科全书,也不是一个C++使用指南,但它描述适用于Google及其开源项目的编码指南,并不追求全面和绝对正确,也有许多人置疑它的一些规则。但作为一个最具影响力的编码规范,它里面有许多内容值得我们研究学习。以下主要摘自GSG负责人Titus Wi...

2015-09-30 01:45:12

阅读数:2510

评论数:1

大型项目开发: 隔离 (《大规模C++程序设计》书摘)

书中第六章 隔离。 主要在撰述什么需要定义在头文件?什么应当移到编译单元中? 核心仍然是先区分接口定义与实现细节。实现细节的改变会导致客户代码的重新编译,从逻辑上也表示与客户代码间可能存在着强耦合。实现细节与隔离主要考察以下实现细节,它们会在接口中引入实现细节,也是需要考虑进行隔离的内容: 继承...

2015-07-20 00:47:06

阅读数:2390

评论数:0

大型项目开发:谨慎使用智能指针

智能指针使用上的问题智能指针的使用太普遍了,它让程序员摆脱了内存管理的恶梦,但实际上智能指针本身也可能引入另一个恶梦。主要包括两个问题点: 1.性能问题。因为需要引入一些变量(bookkeeping),甚至在多线程下的一些互斥操作,它所带来的性能开销往往比想像的要高。2. 对象释放的时机不明确。比...

2015-07-13 00:30:37

阅读数:4491

评论数:0

软件设计的复杂度

什么是软件设计的复杂度软件技术发展的使命之一就是控制复杂度(Complexity)。从高级语言的产生,到结构化编程,再到面向对象编程、组件化编程等等。本文介绍通过分解、改善依赖关系,以及抽象的方式来降低复杂度。

2015-04-30 00:57:32

阅读数:6107

评论数:1

[OOD] 隔离变化-桥接模式

使用一个抽象的接口隔离变化,既提高了各层的内聚性,又降低它们间的耦合。符合OO原则中的: 1. 封装变化 2. 针对接口编程,而不针对具体的实现。 3. 降低交互对象的耦合度。

2015-04-21 00:45:18

阅读数:1965

评论数:0

[OOD] 适配器模式

适配器模式常常与桥接模式相比较,两者最大的不同在于解决的问题不同。适配器用于对接两个不同的接口,而桥接则主要为了隔离变化。从应用上来说,一个是被动的,一个是主动的。 所谓被动的,就是当前的接口的差异是无法轻易改变的,必须引入一个中间层来解决。而中间层的引入往往带有性能、以及不必要的数据拷贝等开销,...

2015-04-21 00:10:27

阅读数:1776

评论数:0

[OOD] 为什么单一职责原则(SRP)是最难运用的

RP是所有设计原则最简单的,但也是最难运用的。现实工作中,关于一个类是否符合SRP,或者是否有必要符合SRP的讨论是经常发生的。争论的关键在于职责的定义,但我理解SRP真正的核心是关注于变化。

2015-04-18 23:53:47

阅读数:2403

评论数:1

[架构设计] 组件和模块的区别

组件(Component)和模块(Module)又是一对容易混淆的名词,也常常被用来相互替换。个人总结,从设计上来看,组件强调复用,模块强调职责(内聚),或者说组件是达到可复用要求的模块。

2015-04-17 00:04:55

阅读数:18798

评论数:2

[架构设计] 什么是业务逻辑

讨论设计时,专业词汇满天飞,每个人的技术背景、工作经验上的不同都会导致在理解上存在着差异。无论是SEI的定义、OMG UML的定义、还有各路大神的定义,都有从不同视角带来的差异。准备后面关注这些定义的差异,摊开来大家一起来讨论。关于’业务逻辑’, 国内国外争论了很多年了(这篇在07年就说没有清晰的...

2015-04-15 00:51:58

阅读数:7327

评论数:2

项目经理的动态管理 - 领导生命周期理论[项目管理摘录]

在项目管理:计划、进度和控制的系统方法>>里作者讲述到领导生命周期理论在项目管理环境下的应用。 领导生命周期理论(Life-cycle Leadership)模型指出,存在4个基本的领导风格,而且要想有效运用它们需要使用领导风络与被领导者的成熟度相适应。这里成熟度的定义是:与...

2013-08-06 13:16:13

阅读数:3326

评论数:0

Software Inspections

When an old idea is a good idea that improves to become a better idea, we should all want to benefit from that evolution. Software Inspection was a g...

2013-05-01 00:06:02

阅读数:1590

评论数:0

什么是好的测试用例[51Testing]

这项研究部分基于NSF制定的EIA-0113539 ITR/SY+PE:“提高软件测试者的教育。” 材料中表达的任何观点、发现和结论或者评论都属于作者,不代表国家科学基金会(NSF)的观点。 摘要      设计好的测试用例是一门复杂的艺术。其复杂性有三个原因:   ...

2013-03-21 22:58:33

阅读数:3706

评论数:0

为什么集成测试比单元测试更重要

单元测试很棒。在假定一些数据的环境下,能顺利通过测试的系统就可算是一个好系统。 不过,现在可以直连外部资源的集成测试才让程序更有价值。谁知道那些内容商(供应商,vendor)会做出什么傻事来! 很多人一直尝试着让测试达到100%的代码覆盖率,这是很棒的想法,但我倒觉...

2013-03-18 01:55:42

阅读数:10649

评论数:14

自组织团队建设很容易吗? (问题与对策的思考)

自我驱动或者自组织团队是现在软件公司努力建设的方向,自我驱动也常常挂在嘴边。但以我的观察,自我驱动或自组织团队建设并没有带有真正的团队生产力提升,反而很易遇到发展瓶颈! 自组织团队的困境 问题在哪里? 我今天终于恍然大悟。这也许也是敏捷在中国一直处于困境的原因之一。简而言之,在自我驱动团队建...

2013-02-22 00:15:17

阅读数:7712

评论数:5

MBTI在软件开发团队中的应用

人绝不是一种资源。一方面我们不可能因人设岗,另一方面也不能忽略人性的差异。面对问题时,不要总是单纯地从人的态度或品德上查找问题,而是要反思人事安排和流程建设上的不足。奢望一个人改掉他的缺点,还不足充分发挥他的优点。 前言 MBTI将人区分为16类人格特质,我无法断言是否真得能表...

2013-02-03 02:07:08

阅读数:3822

评论数:2

项目风险管理起步

如果风险止于发现者则不能称为有风险管理,必须是在规范的流程之下,有计划的采取行动,这才算是风险管理的起步阶段。 1. 培养风险意识(Risk Awareness) 需要在开发的各个阶段,训练团队成员能主动发现出风险,然后报告出来并同相关人员进行沟通。整个过程可能缺少流程定义,还没有约束...

2012-12-24 00:33:57

阅读数:3952

评论数:2

项目风险管理

软件项目管理中的风险管理像是把瑞士军刀,高效全能。它是项目全面管理的一部分,风险管理应该与关键的项目实施过程紧密相连,贯穿项目始终。 风险管理 风险管理工具只是辅助,关键是在项目中要有风险意识。我们习惯于处理问题(issue),但却疏于应对风险(risk)。关于风险和问题如何区别的讨论...

2012-12-23 00:28:19

阅读数:2954

评论数:0

提示
确定要删除当前文章?
取消 删除