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 对于返回原的数据类型是极好的
  • 相关阅读:
    django之认证权限和接口
    序列化组件
    django中cbv源码和restful规范
    AjaxControlToolKit--TabContainer控件的介绍收藏[摘录]
    sublime text 3 激活
    sublime 2激活和解决中文乱码
    sublime text2 保存文件时候名字后缀.dump问题解决
    选项卡 刷新回原来页面的处理方法:
    关于C#自定义控件【摘录】
    比较好的GridView固定问题(链接)
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13589110.html
Copyright © 2011-2022 走看看