zoukankan      html  css  js  c++  java
  • 修改前后代码总结与反思

    修改前后代码总结与反思

    旧代码

    • #最主要的问题是如何进行函数以及代码的块的封装独立
      #如果不进行封装的时候,变量名的使用重复性的问题
      f = open('resgister','a',encoding='utf-8')
      print('***********用户注册***********')
      while True:
          name = input('请输入用户名(N退出):')
          if name.upper() == "N":
              break
          password = input('请输入密码:')
          from datetime import datetime
          resgister_time=datetime.now()
          str_resgister_time = resgister_time.strftime('%Y-%m-%d %H:%M:%S')
          f.write(str({name:password}) + "\n")
          print("注册时间为:" + str_resgister_time)
      
      #***********************用户登录***********************
      print('************用户登录******************')
      dict_name = []
      for li in open('resgister','r'): #每一行进行文件的读取
          dict_name.append(eval(li))
      n = 0
      h = True
      while h:
          load_name = input('请输入登录名:')
          load_password = input('请输入登录密码:')
          n = n + 1
          for i in dict_name:
              if {load_name: load_password} == i:
                  h = False
                  print("登录成功")
                  break
          if n >= 3:
              break
      if h == True:
          print('账户已被冻结')
      
      

    总结

    缺点:

    • 修改前代码没有采用函数进行分块
      • 缺点:
      • 1.界限不明显
      • 2.变量的命名容易重复
    • 特殊符号( | ) strip的以及%s搭配 没有利用,反而采用的更为复杂的字典的键值对的方式,这应用范围较窄
    • 功能出现了阉割

    优点:

    • eval 对于返回原的数据类型是极好的
  • 相关阅读:
    JS加载机制
    js原型和原型链(用代码理解代码)
    解决echarts图形由于label过长导致文字显示不全问题
    微信小程序setData()异常
    Add GNOME to a CentOS Minimal Install
    vim的tab缩进及用空格设置
    ORA-12547: TNS:lost contact
    python+Django实现Nagios自动化添加监控项目
    python <tab>自动补全
    电信服务规范
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13589110.html
Copyright © 2011-2022 走看看