renguifeng 发布的文章

一、目前模板编辑器的优点

原来的模板编辑器可以实现大部分数据的定制化需求,确实是实现了很多的定制化功能,减少了代码的改动。

二、目前模板编辑器的缺点

这样做会往往在解析的时候,难度就比较大。因为要考虑的场景太多了。举一个例子说明,我们通过模板编辑器实现了一个床头屏的模板,然后,把这个模板发布到床头屏上,这个模板就可以按照床头屏的业务场景进行显示;同样道理,如果用模板编辑器实现了一个门口屏的模板,然后,把这个模板发布到门口屏上的后,这个模板就可以按照门口屏的业务场景进行显示。这里面有一个问题,那就是目前模板编辑器只是对数据进行了定制化,没有对业务进行定制化。这样就造成了,在终端上进行模板解析的时候,需要考虑到很多的业务场景,同时要求这些业务场景不能够互相冲突。例如,在解析床头屏模板的时候,需要保证床头屏的解析不能够影响到门口屏的业务场景。这样就会造成了代码的业务逻辑复杂度增加了很多。如果后期增加更多的业务场景,会让这个模板解析的代码复杂度越来越高;会变得越来越不容易维护。

三、重新设计模板编辑器

重新设计的模板编辑器要能够实现业务与数据同时定制化。如果能够实现这一点,那么模板解析的工作量就会变得更加容易与扩展。例如,以后床头屏的解析不会影响到门口屏的解析。这样做的好处就是降低了代码的复杂度,同时也会变得更加容易维护。

四、定制化业务和数据

目前的模板解析是一个运行环境,但是这个运行环境包括了各个不同的业务场景,数据的定制化就是选择具体的业务场景在终端上进行解析。以后的模板解析要实现业务场景的选择和数据的解析都是通过后台进行定制化。模板解析只是一个简单的解析环境,例如提供基本的类库调用,通用的功能模块等等。总而言之,凡是具有定制化需求的都通过在模板编辑器里面进行定制化改动。

一个程序员在入门的时候,可能会比较纠结在意某一个具体的语法如何掌握,或者某一个函数应该如何使用。随着编程经验的积累,到最后,我们会发现其实最重要的是编程思想,因为我们会发现,不管是什么样的编程语言,基本上都会包含for循环、while循环等等。即使没有for和while循环,也会有其他的语法结构来实现循环的操作。如何才能够快速地掌握一门语言,首先学习的应该是这门编程语言的设计原理和编程思想,至于具体的语法结构,用到了去查询一下即可。

一,化整为零思想   

一个复杂的问题可以拆分为若干个简单的原子单元,我们只要逐个解决掉这些原子单元的问题,整个复杂的问题也就解决掉了。

 二,中间层思想 

 “计算机科学领域的任何问题都可以通过增加一个简洁的中间层来解决。"Any problem in computer science can be solved by another layer of indirection."这一句话是由著名的计算机科学家David Wheeler说的。

三、通过简单的事务看出最本质的原理。

四,当诸多矛盾出现的时候,抓住一个主要矛盾,其他问题也就迎刃而解了。

五、采用信号和槽机制建立组件之间联系,减少组件之间的依赖关系。

我的第一篇个人博客终于开通了,以后欢迎大家来进行围观。

从开始构思开发这个网站到完成,前后大概用了两三个月的时间,其中包括云服务器的选购、域名的注册、备案等流程。当然还有服务器环境的搭建。

在做这个网站的过程中,我一直在思考,到底用这个网站做点什么呢?后来想了想,用来记录自己这些年学习编程过程中遇到的一些问题,如何解决等等。这样对于自己以后的提升也是有很大的好处的,从事软件开发,最重要的当然是有一个清晰的思维逻辑,知道哪里出现问题了,应该如何去排查问题。因此,我选择了mecoding.cn作为这个网站的域名,这个域名的含义是自己学习编程,当然这是我个人的解释。

这个网站的logo也是我自己设计的,因为是一个程序员,不是美工,所以只能是简单的设计一下了。从这个logo可以看出来,认真的同学可以明白这个logo就是一个bug的拼写。之所以用bug作为这个网站的logo是因为程序员每天不是在解决bug的过程中,就是在制造bug的过程中。bug伴随着程序员的整个编程生涯。不会解决和制造bug的程序员肯定是一个假程序员。

写东西可以让我静下来,去思考自己设计的代码是否有缺陷,是否有更优的解决方案。从这个写的过程中可以思考每一个环节是否合理,从而找到可以优化的功能点。

每次遇到问题在网上搜索答案的时候,发现全部都是大同小异,几乎都是直接拷贝粘贴过来的,而且其中基本上都不具备可验证的条件。我开通这个网站的目的也在于此,我要整理我自己解决过的问题,争取每一个问题都要做到步骤详细,可调试的目标。



辽公网安备21010602000703号 备案号:冀ICP备2022001219号