首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何看待编写业务代码

业务代码的要求和常规意义上的编程有很多不一样的地方。我们在学习编程的时候往往被教导: 代码要有良好的设计。...要抽象和封装,要尽量减少重复代码代码要有良好的建模,概念清楚,不同实体的关系清晰; 代码要高效,有O(1)的别用O(log n),有O(log n)的不用O(n); …… 但是到了业务上。...ACID事务、隔离性、锁和相关的数据操作 …… 有人觉得写业务代码非常low,因为就是一堆if,太没有技术含量了。但我觉得业务逻辑有时比所谓什么高并发,每秒多少多少数据处理要难得多。...写业务流程不一定用java。java只是工具,帮你把上面的这些关键的东西串起来。如果可能,js,PHP,ruby,py都是可以的。项目组用什么就跟着用什么就好。 ?...我给自己的准则是,业务逻辑是怎样的,业务代码就应该差不多是怎样的。以贴合业务需求为主,以满足软件工程需要为辅。

1.1K70

编写兼容性JS代码

前文介绍了:  1 DOM四个常用的方法   2 使用DOM核心方法完成属性填充 本篇主要介绍在JS中需要注意的几个地方,另外为了减小html与javascript的耦合使用java进行onclick...方法编写。   ...但是在编写合格的javascript代码时,需要注意:   1 平稳退化:保证在不支持js或者低版本的浏览器也能正常访问   2 分离javascript:把html与javascript分离,有助于后期代码的维护...  3 向后兼容性:确定老版本的浏览器不会因为脚本禁止而死掉   4 性能考虑:确定脚本执行的最优   编写优化的代码   针对前一篇中的相册的代码,这里主要修改的地方是把onclick方法删除,在页面加载时...效果与前篇类似,全部代码如下: <!

3.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

【微服务】146:商品品牌业务后台Java代码编写

学习计划安排如下: 昨天实现了前端页面的编写以及发送请求,今天关于异步请求工具axios的简单说明。 关于商品品牌,后台代码的完整编写。...②基础请求路径 直接引用config.js文件中的url即可,也就是网关对应的域名+路由,最先开始就说明过。...二、后台代码编写 个人的编写代码思路: 首先确定对应实体类,其次确定请求参数、请求路径和返回值,最后Java三层代码编写。 1实体类和数据表 ?...数据库中对应的数据表为tb_brand,编写实体类Brand和其一一对应。 2返回值数据 编写一个分页数据实体类,在其它业务中若是需要分页数据也可以使用这个类。...totalPage即总页数,因为我们这里没有编写对应的业务,所以为null。

1.5K20

如何在小程序wxml文件中编写js代码

wxs可以说就是为了满足能在页面中使用js存在的,在wxml页面中,只能在插值{{ }}中写简单的js表达式,而不能调用方法,例如直接在wxml页面中直接保留数据的小数点的后两位。...相对来说wxml中使用js语法就比较薄弱了,wxs就是弥补了这样的短处。 关于wxs文件的使用方法如下: .wxs的实例代码为: <!...total = a * b; total = total.toFixed(2);//保留两位小数 return total; } module.exports = { bar: bar}; 在wxml中引用代码...wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。 wxs 函数不能作为组件的事件回调。...由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

3.7K30

如何编写难以维护的 React 代码?耦合通用组件与业务逻辑

在众多项目中,React代码的维护经常变得棘手。其中一个常见问题是:将业务逻辑直接嵌入通用组件中,导致通用组件与业务逻辑紧密耦合,使其失去“通用性”。...这种做法使通用组件过于依赖具体业务逻辑,导致代码难以维护和扩展。 示例:屎山是如何逐步堆积的 让我们看一个例子:我们在业务组件 PageA 和 PageB 中都使用了通用组件 Card。...这意味着应该通过扩展现有的代码来引入新功能,而不是修改已有的代码。这有助于减少代码的风险,因为修改现有代码可能导致不可预测的副作用。...{content} {showFooter && } ) } 通过这次重构,我们成功解耦了通用组件和业务逻辑...,使代码更易于维护和扩展。

18240

湖仓一体电商项目(十八):业务实现之编写写入DWD层业务代码

业务实现之编写写入DWD层业务代码一、代码编写Flink读取Kafka topic “KAFKA-ODS-TOPIC” 数据写入Iceberg-DWD层也是复用第一个业务代码,这里只需要在代码中加入写入...Iceberg-DWD层代码即可,代码如下://插入 iceberg - dwd 层 会员浏览商品日志信息 :DWD_BROWSELOGtblEnv.executeSql( s""" |insert...iceberg_ods_tbl_name = 'ODS_BROWSELOG' """.stripMargin)另外,在Flink处理此topic中每条数据时都有获取对应写入后续Kafka topic信息,本业务对应的每条用户日志数据写入的...write.metadata.delete-after-commit.enabled'= 'true','write.metadata.previous-versions-max' = '3');三、代码测试以上代码编写完成后...3、执行代码,查看对应结果以上代码执行后在,在对应的Kafka “KAFKA-DWD-BROWSE-LOG-TOPIC” topic中都有对应的数据。在Iceberg-DWD层中对应的表中也有数据。

34551

业务代码重构

刚拿到这个产品的代码时,我也是一头雾水,动就上千行的逻辑代码,看的让人很费劲,完全没有任何套路可言,一撸到底的代码,拿到后,我就先把代码拆开,一块一块的看 ?...最初只有createorder.js,拆开后变成了4个,createordervalidate.js,createorderutils.js,createorderinit.js,拆过之后,代码分工就比较清晰了...重构过之后,编辑,新增订单可以公用一套代码,直接调用对应的方法就行了,即使增加一个查看框,也用不了太久就能搞定,之前的方式就是代码copy,没有抽出业务公共的逻辑。...jquery系列的老的产品代码,最好的重构方法就是插件化,现代三大框架,vue,react,angular,就是组件化,加上,数据状态管理器搞定。

62930

湖仓一体电商项目(二十):业务实现之编写写入DM层业务代码

业务实现之编写写入DM层业务代码DM层主要是报表数据,针对实时业务将DM层设置在Clickhouse中,在此业务中DM层主要存储的是通过Flink读取Kafka “KAFKA-DWS-BROWSE-LOG-WIDE-TOPIC...一、​​​​​​​​​​​​​​代码编写具体代码参照“ProcessBrowseLogInfoToDM.scala”,大体代码逻辑如下:object ProcessBrowseLogInfoToDM {..., second_cat String, product String, product_cnt UInt32) engine = MergeTree() order by current_dt;三、代码测试以上代码编写完成后...,代码执行测试步骤如下:1、将代码中消费Kafka数据改成从头开始消费代码中Kafka Connector中属性“scan.startup.mode”设置为“earliest-offset”,从头开始消费数据...2、执行代码,查看对应结果以上代码执行后在,在Clickhouse-DM层中表“dm_product_visit_info”中查看对应数据结果如下:

31851

湖仓一体电商项目(九):业务实现之编写写入DIM层业务代码

业务实现之编写写入DIM层业务代码一、代码逻辑和架构图编写代码读取Kafka “KAFKA-DIM-TOPIC” topic维度数据通过Phoenix写入到HBase中,我们可以通过topic中每条数据获取该条数据对应的...这里使用Flink处理对应topic数据时如果维度数据需要清洗还可以进行清洗二、代码编写读取Kafka 维度数据写入HBase代码为“DimDataToHBase.scala”,主要代码逻辑如下:object...= { pst.close() conn.close() } }).print() env.execute() }}三、​​​​​​​​​​​​​​代码测试执行代码之前首先需要启动...HDFS、HBase,代码中设置读取Kafka数据从头开始读取,然后执行代码代码执行完成后可以进入phoenix中查看对应的结果# 在node4节点上启动phoenix[root@node4 ~]#

55471

湖仓一体电商项目(十六):业务实现之编写写入ODS层业务代码

业务实现之编写写入ODS层业务代码由于本业务涉及到MySQL业务数据和用户日志数据,两类数据是分别采集存储在不同的Kafka Topic中的,所以这里写入ODS层代码由两个代码组成。...一、代码编写处理MySQL业务库binlog数据的代码复用第一个业务代码只需要在”ProduceKafkaDBDataToODS.scala” 代码中写入存入Icebeg-ODS层表的代码即可,“ProduceKafkaDBDataToODS.scala...as gmt_create | from kafka_db_bussiness_tbl where `table` = 'pc_product' """.stripMargin)处理用户日志的代码需要自己编写...'true','write.metadata.previous-versions-max' = '3');以上语句在Hive客户端执行完成之后,在HDFS中可以看到对应的Iceberg数据目录:三、代码测试以上代码编写完成后...,代码才能实时监控到写入MySQL的业务数据。

411123

湖仓一体电商项目(十九):业务实现之编写写入DWS层业务代码

业务实现之编写写入DWS层业务代码DWS层主要是存放大宽表数据,此业务中主要是针对Kafka topic “KAFKA-DWD-BROWSE-LOG-TOPIC”中用户浏览商品日志数据关联HBase中...一、代码编写具体代码参照“ProduceBrowseLogToDWS.scala”,大体代码逻辑如下:object ProduceBrowseLogToDWS { private val hbaseDimProductCategoryTbl...write.metadata.delete-after-commit.enabled'= 'true','write.metadata.previous-versions-max' = '3');三、代码测试以上代码编写完成后...,代码执行测试步骤如下:1、在Kafka中创建对应的topic#在Kafka 中创建 KAFKA-DWS-BROWSE-LOG-WIDE-TOPIC topic....3、执行代码,查看对应结果以上代码执行后在,在对应的Kafka “KAFKA-DWS-BROWSE-LOG-WIDE-TOPIC” topic中都有对应的数据。

34731

湖仓一体电商项目(八):业务实现之编写写入ODS层业务代码

业务实现之编写写入ODS层业务代码一、代码逻辑和架构图ODS层在湖仓一体架构中主要是存储原始数据,这里主要是读取Kafka “KAFKA-DB-BUSSINESS-DATA”topic中的数据实现如下两个方面功能...:将MySQL业务数据原封不动的存储在Iceberg-ODS层中方便项目临时业务需求使用。...二、​​​​​​​代码编写数据写入ODS层代码是“ProduceKafkaDBDataToODS.scala”,主要代码逻辑实现如下:object ProduceKafkaDBDataToODS {...'true','write.metadata.previous-versions-max' = '3');以上语句在Hive客户端执行完成之后,在HDFS中可以看到对应的Iceberg数据目录:四、代码测试以上代码编写完成后...,代码才能实时监控到写入MySQL的业务数据。

42942

湖仓一体电商项目(十):业务实现之编写写入DWD层业务代码

业务实现之编写写入DWD层业务代码DWD层数据主要存储干净的明细数据,这里针对ODS层“KAFKA-ODS-TOPIC”数据编写代码进行清洗写入对应的Kafka topic和Iceberg-DWD层中...一、代码编写编写处理Kafka ODS层数据写入Iceberg-DWD层数据时,由于在Kafka “KAFKA-ODS-TOPIC”topic中每条数据都已经有对应写入kafka的topic信息,所以这里我们只需要读取...具体代码参照“ProduceODSDataToDWD.scala”,大体代码逻辑如下:case class DwdInfo (iceberg_ods_tbl_name:String,kafka_dwd_topic...write.metadata.delete-after-commit.enabled'= 'true','write.metadata.previous-versions-max' = '3');三、代码测试以上代码编写完成后...,代码才能实时监控到写入MySQL的业务数据。

53081
领券