大家好,今天小编关注到一个比较有意思的话题,就是关于java语言逻辑的问题,于是小编就整理了1个相关介绍Java语言逻辑的解答,让我们一起看看吧。
写JAVA后端代码时逻辑混乱怎么办?
逻辑混乱这个问题与编程语言的使用无关,并且是一个需要题主非常重视,尽快改正的毛病。
程序是什么,程序是以代码作为工具,以数据结构做载体,表达你的算法逻辑的作品。
不客气的说,看一个人的代码就能看出这个人是否聪明,以及是否拥有技巧。
我来介绍下相对来说能够让你逻辑清晰的工作习惯,养成好的习惯之后,这个毛病自然也就改掉了。
如果是要实现一个复杂的功能,首先要做的是对各个子功能进行拆分,将复杂且综合的功能分成多个模块,每个模块只负责一个功能。每个功能就对应了一个低耦合的函数,每个低耦合函数就代表了一个独立的子流程,当我们把每个子流程实现后,只需要用数据把它们串联起来,一个完整的系统就完成了。
我们以一个低耦合的函数为例。
首先要画一个流程图,建议就用铅笔在纸上画草图,因为后期一定会有反复的改动,铅笔更有助于修改。而且因为是草图,不是用来述职的PPT,因此不建议浪费时间在电脑上画规规矩矩的流程图。
要明确的是,流程图虽然不会出现在代码里,但是它是代码背后的核心逻辑体现,画流程图的过程是整理自己的思路,这是磨刀不误砍柴工的过程。
后端代码复杂度通过分拆、分而治之来解决。首先通常通过拆分工程、多个工程间可以存在依赖关系,但一定要单向依赖,不能成环,如果有环就得考虑把环形依赖部分拆分出来成为单独的工程,来解决环形依赖。
对于工程里的代码可通过横向拆分、纵向分拆来降低复杂度。横向分层按controler、service、dao、sqlmap,纵向分模块system、biz1、biz2……bizN,但在数通畅联内部,横、纵向拆分相结合模式,如下图:
首先通过横向分拆出controller、cxmodule、module等层次,module作为业务层根据业务功能的不同进行纵向分拆,分成***ysis、dwmodel、metadata、schedule等功能模块,在各个功能模块中,横向分拆出exteral、handler、service、sqlmap,其中exteral负责数据接口,提供可调用的服务和接口;handler作为控制层,通过调度代码负责业务的调度,以及一些参数封装、结果集处理等操作;service则是负责具体业务的业务处理层,除了增删改查外,一些贴近业务的功能也会在service中完成;sqlmap用于定义操作数据库的SQL语句。
通过这种分层的方式,实现代码层次的分隔,做到各守各层、结构清晰,对于一些跨模块调用的接口,如在不同模块中需要对同一张数据表进行操作时,可以将接口提升到上层cxmodule中作为公共接口,实现类和方法的复用;对于一些可复用的、相对独立的功能,可以通过在cxmodule中定义一个干净的接口,在module的功能模块中通过实现接口实现业务逻辑,而不使用spring的事务管理机制,降低代码的复杂度。
后端代码的逻辑性比较强,还是有很多技巧可以学习的,避免给自己填坑
1.一定要弄懂业务逻辑,所谓代码不过就是把业务逻辑翻译成代码,如果业务逻辑都不懂,那么代码肯定写不好
2.将代码模块化,模块化的好处是容易理解,并且容易测试
3.不断重构代码,一个人的能力是不断进步的,一个月后看你一个月前写的代码都能发现很多不足之处,经常梳理,逻辑肯定是越来越清晰
4.多看源码,很多框架的源码写的非常好,原因是作者的水平一般都很高,并且是很多人智慧的结晶,模块化和抽象程度都非常好,从别人的源码中也能学到很多优秀的技巧
写代码和写作是一样的,一定是先有底稿之后才开始写,而不是上来就不分青红皂白的写。因此,在写代码之前一定要思考你想要实现的功能在逻辑上是否已经理顺了。可以从如下几方面下手,提高自己这方面的能力:
1) 写代码前先画流程图,不一定是多规范的流程图,可以是草稿,主要是帮助理清思路。
2) 写完代码之后要修改,即使非常有名的作家也不可能一次性的写出伟大的作品,都是反复修改后的结果。编程也一样,是一个需要经常推敲,优化的过程。
3) 参考别人的代码,同样以文学类比,那个作家不是读了一车一车的书,编程也一样,一定要阅读优秀的代码。J***a方面如SSH框架、Hadoop等。
到此,以上就是小编对于j***a语言逻辑的问题就介绍到这了,希望介绍关于j***a语言逻辑的1点解答对大家有用。