美文网首页
创业公司与代码技巧

创业公司与代码技巧

作者: 甄三十七 | 来源:发表于2017-09-12 16:33 被阅读63次

    我在搭建榄盛邦的后台框架(类MVC,基于Python Flask开发)的时候,在Model基类的构造函数里写了一个小功能。即如果构建Model对象时如果没有传入DBSession对象(SQLAlchemy数据库Session对象),则自动创建,并赋值给self.session。这样做的好处主要是简化开发。例如:

    原写法:

    def update_username(user_id, username):
        db_session = DBSession()
        Model(db_session).update_username(user_id, username)
        db_session.close()
    

    新写法

    def update_username(user_id, username):
        Model().update_username(user_id, username)
    

    减少了一些代码量,也让代码看起来更舒服。但是这段代码让我以后麻烦不断。

    有一次,我被告知用户提现,显示提现显示失败,但余额被冻结,过了很久前既没有到账,也没有退回到余额。我查询服务器得知,在向第三方支付服务器发送提现请求时,因为网络问题出现了超时异常。

    我检查了一下代码,发现后台程序员使用了没有传递DBSession对象的Model 对象。原因是使用不传递DBSession对象的Model 对象习惯了,函数里没有DBSession对象,于是也没有想到出现异常回滚的操作。我当时令其修稿,但是后来还是会不时出现这种事情。

    后来我想到,如果我当初没有编写这个功能,出错的概率会不会小一点。我想是的。

    总结:在创业公司,受困于资金:

    • 很难招到足够水平的开发人员
    • 往往缺失了测试环节

    也就是说,创业公司开发的产品,容易出BUG,而且有相当一部分的BUG是在上线后才逐渐浮现的。我对此的应对意见是:在不能招人、增加测试的情况下,尽量使用最简单的方式,尽量不使用技巧。

    相关文章

      网友评论

          本文标题:创业公司与代码技巧

          本文链接:https://www.haomeiwen.com/subject/lvgcsxtx.html