如何避免核心代码资源泄漏和如何提高开发效率

200 阅读5分钟

前言

公司的Python项目进度有些慢 
突然想要了解下是什么原因导致的?
因为我觉着python算法复杂是复杂但好多都是现成的
(去网络上都可以找到实现好的算法代码)
所以不需要花费太多的时间在算法从01的实现上
(小公司在业务快速发展时期 用好现有算法即可 
从01研发算法 没有这个技术实力和资本 也没有必要)
剩下的就是简单的业务逻辑了
比如从哪里取数据 把结果数据存储到哪里

小白如何写Python算法-计算模型稳定性评估指标PSI

这篇文章也可以说明 一些代码实现都是开源的资源 只需要了解算法原理会用即可

那为什么python团队效率那么低呢 我体验了下python的开发流程 我找到了原因

本文不涉及公司任何机密信息

先简述下如何在内网环境开发 在描述整个流程的过程中 你也会发现问题所在

远程桌面

python算法代码属于公司的核心资源
所以都是在内网环境开发的
通过远程桌面连接到远程windows电脑
该windows电脑属于内网环境 不能访问外网资源

Mac远程桌面工具

Microsoft Remote Desktop Beta

链接:https://pan.baidu.com/s/13TCHD_dhVB0tTi5lk4mtSg  
密码:v4f6

这个是远程windows电脑桌面

这是内网环境 不能访问外网

把自己本地电脑上文件上传到远程windos桌面

先把文件通过web页面上传到ftp服务器

a、一个上传文件的页面
b、传给接口(java或python或其他语言开发)
该接口所在的服务暴露一个外网访问端口
该外网端口映射到内网服务端口
c、接口逻辑是上传到内网环境的ftp文件服务器

在windows桌面上连接内网ftp服务器下载该文件

xftp

这样就可以通过页面上传外网资源到内网环境了

内网GIT代码库

在内网服务器上安装GIT代码服务上
在内网开发的代码资源上传到内网的GIT服务上
这样可以确保内网代码不会拿到外网泄漏出去

需要在内网远程windows电脑上安装git工具 连接git服务下载代码到windows电脑上

通过编译器将代码上传到内网开发服务器linux环境编译并启动

普遍使用:

python代码通过pycharm idea编译器开发
java 通过Inetllij idea开发
把刚从git服务上拉的最新代码导入pycharm编译器中

那接下来要考虑如何启动python服务了

启动java服务需要安装jdk环境
启动python需要安装python环境

注:无论是jdk环境还是python环境可以在远程windows桌面安装 也可以不在

这里说下不再远程windows桌面安装python环境的过程

既然不在远程windows上安装python环境
那就在内网linux服务器上安装python环境

在内网linux服务器上安装好python环境 通过远程windows电脑上的pycharm将代码发布到linux服务器上 并通过linux服务器的python环境将python服务启动

pycharm配置内网linux服务器

将windows电脑上的python项目代码上传到内网linux服务器

在linux服务器上提前创建好保存项目的目录

点击确定 就会自动将本地目录下的代码
上传到内网linux服务器指定目录下了

启动python服务

通过pycharm启动python服务

注:启动python需要python环境 这里使用的是内网linux服务器的python环境

通过pycharm启动的优势

可以打断点 方便一行一行代码的定位错误

推荐朋友们一款在windows系统ssh连接linux工具

Termius

其实和Xshell是一样的

想要内网环境开发都可以通过上面的通用流程实现

接下来咱聊聊公司业务的特殊之处

导致python开发团队效率低下的几点

  • 同步开发而非并发开发
为了实现某一个需求 Java和Python都需要开发和联调

需求1 Java开发人员1 Python开发人员1 数据库1

需求2 Java开发人员2 Python开发人员2 数据2

只有这样才能并行开发和联调

而目前的情况下 只有一个库A 

导致的结果就是 Java1和Python1先使用数据库A联调的时候 Java2和Python2就不能进行联调

所以就形成了串行的局面 导致效率极为低下
  • 自己开发好的功能并没有自测充分就提供前端联调
造成这一点的主要原因是 

并没有充分的利用自测工具 比如Postman

有些工程师更偏向于通过别人和他联调的方式来自测自己的接口

这样会造成 自己自测效果不好 而且 还会耽误别人的时间