• Python_数据处理项目开发总结代码设计


    项目情况

    各自项目发布流程和任务管理方式,工作到什么阶段,掌握工作节奏
    

    系统设计情况

    1.明确需求
       输入和输出以及功能
       经常会发生改变的值和固定的值
    
    2.各个模块的构成
        01.日志记录系统
           日志--显示和存入文档
    	     # 使用FileHandler输出到文件
              file = logging.FileHandler('log.txt') 
    		  # 标准输出
    		  stream = logging.StreamHandler()
    		 # 添加两个Handler
              logger.addHandler(file)
              logger.addHandler(stream)
    	     def __init__(self, name, level=log_level, stream=True, file=True):
              
    		  --文档 日志轮询
        
        02.配置项
           01.使用文本配置文件管理常量
           02.git secret 敏感信息(密码,token,证书等)的管理
    	   03.配置文件的格式
    	       采用json 的方式
    		   采用config 文件的方式--	
        03.代码的处理
             代码规范
             代码的异常处理机制
    		 统一命名规范
    		 功能模块划分:使用框架或模仿文件夹结构,嵌套层数不要太多
    		 适度提前-但不要太过超前
    		    最初的设计中充分考虑到未来的变化,避免因为频繁的变化导致软件复杂度增加和质量的下降
        04.数据库
    	    考虑数据库的读写以及并发情况--数据处理
    		考虑多个数据库的读写
    3.文档和注释
        1.注释
        2.ReadMe
             软件定位,软件的基本功能
             运行代码的方法:安装环境,启动命令等
        	 如何使用
    

    健壮的程序

    健壮的程序,需要考虑失败并制定重试策略
    需要考虑输入不是标准输入的情况,例如: 字典的key不存在的情况
    不确定某段代码能否成功执行,往往这个地方就需要使用异常处理
    

    结果的记录

    过程的记录和监测
      使用数据库记录执行的过程数据和结果数据
      使用日志,记录异常原因
    

    异常处理

    考虑网络故障、靠谱的调试跟踪和语法分析 
    捕捉异常可以使用try/except语句
    使用raise语句自己触发异常
    
     涉及到网络的情况--有时候会出现请求失败或等待超时的情况,这就需要重试
      有时候会部分失败,那就要记录失败的部分,并做失败的部分尝试重新处理,
      超过一定时间和尝试次数后,如果还没有成功,则记录异常原因便于排查故障
         设置超时 timeout
    	 失败时重试  retry_strategy 
      
     网络处理某一些文件夹的情况 
     网络链接的情况 
     
    使用第三方API时,通常需要验证返回的响应是否确实有效-校验请求   
    

    Python项目情况

    1.第三方工具的安装和配置
     PATH=/opt/tools:$PATH
     export PATH
     PYTHONPATH=/opt/code/DataDeal:$PYTHONPATH
     export PYTHONPATH
       01.- export VERSION=`echo ${MODULE_NAME}|cut -d . -f 3-`
          - eval MODULE=\${${MODULE_NAME}_VERSION} && export MODULE
    	  - if [ "${MODULE}" == "" ]; then export MODULE=test; fi
    

    pip的

     pip list 
     pip search pandas
     pip show  numpy
     pip download flask==1.1.1
     pip install
     pip uninstall package
     pip freeze > requirements.txt
     pip install --upgrade package# 或者pip install -U package
     pip install -U pip
     pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple
       开发完成后,用pip给某项目安装了相应的库之后,去freeze=冻结:
       pip freeze > requirements.txt
          即把当前 Python中安装的 所有的库的信息,写入到一个文本文件中。表示当前Python环境所需的库的信息。
       迁移项目-初定。恢复之前项目的环境
          pip install -r requirements.txt
        即可自动安装所依赖的,各种Python的库,恢复了之前的项目的Python环境。
     python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000 -r requirements.txt
  • 相关阅读:
    MyBatis传入多个参数的问题
    vim添加复制(crtl+c),粘贴(ctrl+v)ctrl+A 等快捷键
    log4j日志级别
    概要设计说明书(转载自国家计算机标准和文件模板)
    软件需求分析文档模版(转载自国家计算机标准和文件模板)
    新概念英语 第二册 课文
    程序员的自我进化——补上最短的那块情商木板
    python 字符和数值转换
    maven中的 dependencies 和 dependencyManagement 的区别
    Oracle11G 7个服务说明
  • 原文地址:https://www.cnblogs.com/ytwang/p/16134065.html
Copyright © 2020-2023  润新知