
昨天在我的视频号中分享了一段短视频,演示了如何编写一段代码来描述一个谁(WHO)何时(WHEN)何地(WHERE)做(DO)什么(WHAT)。是的,本身没有什么技术含量,但是带来一些关于技术和产品的思考,今天把这些思考见解分享给大家。
❝
不要带着技术视角来看这篇文章。
其实作为技术开发,无论是底层架构还是业务实现都可以抽象为:
WHO
WHERE
DO
WHAT
WHEN
HOW
WHY
或者其它一些代词,处理他们之间的关系和流程。有时候我感觉写代码就是写作文,把作文的中心思想简洁明了地表达清楚。
A couple named Lilei&Hanmeimei takes their son named Lintian to WanDa Plaza for durian pizza
这样描述
new Couple ("李雷","韩梅梅")
.take(new Son("李天"))
.to(new Location("万达广场"))
.forWith(new Pizza("榴莲味"));
那如果这对夫妇不是带儿子去万达广场吃披萨,是带了礼物娘家看丈母娘呢,或者等等等等。
new Couple (husband->{},wife->{})
.take(()-> something)
.to(()->where)
.forWith(()-> doWhat));
从这里你能看到什么? 当遇到需要用程序去解决的问题时,先抽象出生命周期,就像上面伪代码中的方法流转,每个方法都专注于做专一的逻辑,最后后再整合细节,把细节串起来,就能讲好一段故事。
❝
????强烈推荐了解函数式编程中的柯里化(Currying)。
总之学会在工作学习中形成自己的方法论,这样你才会跨越语言框架的局限性。我是:码农小胖哥 多多关注分享更多有用的编程心得。


















