什么是桶文件(Barrel File)模式?
我之所以调查这个主题,是因为目前所在的团队大量使用这种模式,但 Vite 在开发中不进行 Tree Shake,导致每次开发环境都有大量无用代码被打包,严重影响开发体验。因此研究一下这种方法的理念与优缺点以架构更好的项目。
我之所以调查这个主题,是因为目前所在的团队大量使用这种模式,但 Vite 在开发中不进行 Tree Shake,导致每次开发环境都有大量无用代码被打包,严重影响开发体验。因此研究一下这种方法的理念与优缺点以架构更好的项目。
身处开发领域会发现很多时候都是在做架构信息的工作,所以我觉得称呼自己的日常工作像是「🌵 软件园丁」是十分贴切的。如果你也同意写作是为了思考更多,并期望透过输出写作来精炼自己的思考那么「数字花园」这个概念你应该也会有兴趣。
近期面对许多陈旧代码维护的问题,碰巧我翻找到这个博客:Understand Legacy Code,记录一下「重写」陈旧系统可能会遇到的困境与解套方案。以我自己手上的项目为例,在进行项目升级评估时发现事情比原先想象还要复杂!
「什么是 Ajax 以及为什么不是 Ajaj?」,这个问题一直在脑海中停留许久,有人和我一样思考 Ajaj 之类的称呼的可能性吗?经过一些调查了解背后的原因并写成文章,关于 Ajax 的历史以及名称的由来可以参考看看我的发现。
柯里化就是将使用多个参数的函式转换成一系列使用一个参数的函式,用不同的思考方式来撰写函式,藉由将一个大函式分解成很多仅使用一个参数的函式,打造可被重复利用与轻松除错的函式,透过实际制作三明治函式案例简白的说明柯里化的概念。
写程序久了会发现编写干净的可被维护的程序是一件相当困难的事情,其中一个造成维护困难的原因是因为「函数除外并返回结果除了过程中产生变化对其他的程序产生影响」,换句话说问题就是「不需要的结果,让程序变得捉摸不定理解难以」,应该纯粹了解函数的定义以及如何使用,以便更进一步编写干净的代码。
如果你需要大于 3 层的嵌套,代表你已经搞砸了,应当考虑重构程式码,应当透过反转与封装程式来重构逻辑。这篇文章将详细的介绍现有问题以及使用 Guard Clauses 技巧撰写更好阅读的代码,也就是透过反转逻辑的技巧来撰写更少嵌套逻辑的程式。
防抖与节流是前端效能主题中必定会出现的模式,对用户的输入进行适当的防抖与节流处理,除了有助于提升使用者体验之外,对开发者来说也节省掉许多潜在的资源浪费,透过实际案例还有动画图片一起来了解防抖与节流如何帮助我们提升程式效率。