软件工程(方法论)
文章平均质量分 92
张建飞(Frank)
What doesn't kill you make you stronger!
展开
-
复杂性应对之道——维度思维
You should not be a if-else coder, should be a complexity conquer. -Frank这篇文章,是对之前我在《一文教会你如何写复杂业务代码》说的“自上而下的结构化分解 + 自下而上的抽象建模”方法论的升级。因为在之前的方法论中,我们缺少一个多维度看问题的视角,这种维度思维的缺失,可能会导致miss掉一些重要的业务信息,从而使我们制定软件设计策略的时候,陷入困难。有了维度思维,我们便可以更加方面的去看清业务的全貌,更加全面的掌握业务信息,从而.原创 2020-09-25 13:36:08 · 4757 阅读 · 3 评论 -
35岁就是技术人的天花板吗?
35岁是技术人天花板了吗? 35岁不是技术人的职业终点 面试造火箭,入职拧螺丝,我该怎么办?[video(video-tlgcBWfX-1600154998139)(type-youku)(url-https://player.youku.com/embed/XNDg1ODQ0NDc2OA==)(image-https://vthumb.ykimg.com/054106015F605E原创 2020-09-15 15:32:49 · 11063 阅读 · 35 评论 -
敏捷开发(XP, SCRUM)
敏捷方法的核心思想敏捷方法是适应型(Adaptive),而非可预测型(Predictive)。与传统方法不同,敏捷方法拥抱变化,利用变化来发展,甚至改变自己,最后完善自己。也就是要用重构(Refactoring) 敏捷方法是以人为本(people-oriented),而非过程为本(process-oriented)。传统方法把开发者看作一个生产要素(分析员,测试员,程序员),拥原创 2012-10-20 11:22:27 · 2486 阅读 · 0 评论 -
一个工程师的工程文化
软件作为一本新兴学科,只有短短几十年的历史,如果说我们还处在软件开发的chu原创 2014-06-30 17:04:48 · 1579 阅读 · 0 评论 -
SOFA企业应用框架
前言从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂。导致复杂性的原因有很多,如果从架构的层面看,主要有两点,一个是架构设计过于复杂,层次太多能把人绕晕。另一个是根本就没架构,ServiceImpl作为上帝类包揽一切,一杆捅到DAO(就简单场景而言,这种Transaction Script也还凑合,...原创 2018-02-08 10:37:29 · 28349 阅读 · 12 评论 -
复杂度应对之道 - COLA应用架构
前言从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂。导致复杂性的原因有很多,如果从架构的层面看,主要有两点,一个是架构设计过于复杂,层次太多能把人绕晕。另一个是根本就没架构,ServiceImpl作为上帝类包揽一切,一杆捅到DAO(就简单场景而言,这种Transaction Script也还凑合...原创 2019-01-04 17:04:44 · 53197 阅读 · 18 评论 -
《代码精进之路:从码农到工匠》
我有一个梦想,我写的代码,可以像诗一样优美。我有一个梦想,我做的设计,能恰到好处,既不过度,也无不足。这种带有一点洁癖的完美主义就像一把达摩克利斯之剑,时刻提醒我不能将就、不能妥协。完美主义的代价是在很长时间里持续的迷茫和焦虑。甚至一度,我对软件行业是失望的,怀疑在软件的世界里,到底还有没有优雅的代码和整洁的架构。如果有的话,为什么所有的业务代码都像一座座“屎山”,既不优雅也不整洁,既晦涩又...原创 2019-06-21 10:59:51 · 11559 阅读 · 10 评论 -
解决问题黄金三步:定义问题—分解问题—归类分组
我们经常说软件开发中,没有银弹。的确,单看软件领域,很少有什么方法论是普适的。然而再拔高一些,跳出软件的范畴,是有一些东西是普世的,比如老子说的“道”。好吧,“道”说的有点大。不过,最近我的确有一个新发现——我发现“归类分组”在我们解决问题中起着巨大的作用。而这里的“问题”不仅仅限于软件设计,从日常生活、产品设计到公司战略、生物分类。都有它的身影。这是为什么呢?究其原因可能有两个:一、归类分...原创 2019-09-03 19:52:00 · 14372 阅读 · 3 评论