zoukankan      html  css  js  c++  java
  • 一个增删改查功能开发小结

    这个功能在功能上终于做完了
    回想这个功能感慨万千
    大致梳理下慢的原因,算是找借口,可以加班啊

    (1)需求不明确,就知道做从此增删改,但增删改时,都不是对单一表进行处理,但具体细节却不清楚,需要看旧代码
    (2)虽是增删改的功能,但需要使用其它集成接口,这些知识点需要与其它团队了解,也需要时间。

    说到加班,纠结感又上来了
    做这个功能感觉找不到节奏,
    一个任务是不分上班下班一口气做完,如果其它团队的接口的不熟悉,应该怎么搞,不会因为要做当前的任务,就把对方相关逻辑代码都看一遍吧,一是没有时间,而是人的精力是有限的;
    还是细分,每天完成指定的功能点


    节奏是个什么东东呢

    中间比较耗时间的地方:
    做功能前没有充分预估与其它团队沟通所需要的时间,是否是沟通技巧不熟悉;
    一个功能点的实际可能有多个途径,在实现功能时总是在不同的实现中摇摆,各有各的好处,是否是建模不熟练;
    项目大了,肯定会有公司内部的接口,
    实际建模与接口(譬如persist接口)需要结合起来,如果是使用Map之类的容器作为参数,何必要定义那么多对象呢
    OO可提高代码的语义表达力,如果由于OO增加代码逻辑的复杂度,应该怎么取舍呢
    单一处理和批量处理在不同场景,是写两套代码,还是复用处理逻辑,如果复用,如何建模,模型的复杂度应如何评估呢

    一来一去,这一想,那一想,时间过去了

    Just do it:
    在没有完成功能前,
    不要说简单,如果要使用第三方或其它团队提供的接口,谁也不知道会有多少坑
    不要说不需要多少时间,没有调通之前,谁也不知道有多个技术方面的或业务逻辑方面的坑

    累的时候可以停一下,但如果操作一定要保持头脑的清醒,不能因为乌龙操作产生的结果来影响判断,一来一回,时间就过去了

    排查异常情况的一点经验:
    (1)如果是突然出现的异常,一下子找不到原因,先分析正常时的与现在不正常时,两者不同的地方(在多数情况下可能因为对一些细节不了解,导致认为没有差别,实际是有的),参数,线程等方面
    这次就发现一个情况,HashMap<String,String>中存放["2","value2"]的键值对,如果通过RMI在逻辑上传输,数据到达接收端["2","value2"]中key中的2就是Long型了,虽然转型为HashMap<String,String>也不会错,但在Entry.getKey时就会出现java.lang.Long不能转型为java.long.String

    (2)不要简单全部相信其它团队提供API的描述,有时候虽然参数是Object,但可能只有传入HashMap<String,String>才正确,HashMap<Long,String>就不会生效

    是不是有拖延症啊

  • 相关阅读:
    【ML-9-1】支持向量机--软硬间隔与支持向量机
    【ML-8】感知机算法-传统和对偶形式
    【ML-7】聚类算法--K-means和k-mediods/密度聚类/层次聚类
    【ML-7】聚类算法-实例代码
    【ML-6-2】集成学习-boosting(Adaboost和GBDT )
    【ML-6-1】集成学习-bagging(随机森林)
    【ML-5】决策树算法
    【ML-4】逻辑回归--用于分类
    【ML-3.1】梯度下降于牛顿法实例
    树状数组
  • 原文地址:https://www.cnblogs.com/softidea/p/4749424.html
Copyright © 2011-2022 走看看