博客园首页新随笔联系管理订阅 随笔- 89 文章- 0 评论- 1372 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

 中午吃饭时间到了,小白赶紧向老菜坐的位置走过去。

  小白:老大,中午请你吃饭。

  老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行。

  行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊。

  ......

  老大,我照您上次讲的办法都做完了,一步步执行,方向和条理清晰了很多,现在马上要进入编码了,所以想让您再指点一下。

  老菜:嗯嗯,做的还不错嘛,孺子可教也。

  编码相关的一些内容也是老生常谈的东西,它就好像起一座高楼大厦,如果没有设计图纸,没有将基础打好,那么可想而知建造出来的质量怎么样了。主要有下面几点要注意的:

  1.编码规范

  对于这个,python做的挺不错的,有统一的规范PEP8指导,只要按要求去做就可以了,当然要重点注意的有两点,一是命名一定要按有意义的可读性强的英文单词来使命名;二是代码注释上,尽量表达清楚到位,尽量多点注释,不然一段时间后你重新维护旧系统时,你就知道痛苦了。

  2.代码要适度封装

  简单来说,你要将相同或类似功能的代码放到统一的文件当中,给其他需要调用相同功能的地方调用。

  比如说我们经常要用到MD5进行加密,不可能每次要用到时,都要导入hashlib包,然后创建实例对象,再根据当前加密对象是bytes还是字符串,然后做相应处理,这样重复代码就会很多。万一那个地方要进行修改时,就得修改所有使用MD5加密的代码,而如果处理过程中有所遗忘,就会产生问题了。所以我们将md5、base64编码与解码、aes加密与解密等内容统一放到encrypt_helper.py这个加密操作包中,那么我们要使用时就非常方便了。

 

复制代码
import hashlib

def md5(text):
    """md5加密函数"""
    md5 = hashlib.md5()
    if not isinstance(text, bytes):
        text = str(text).encode('utf-8')
    md5.update(text)
    return md5.hexdigest()
复制代码

 

  为什么说适度封装呢?因为过度封装的话,会令代码的可读性下降,使代码变的难于理解,所以适度就好。当然对于你这种初学者来说,可能一开始很难理解,这不用担心,你就按你自己的经验正常实现功能需求就行了,等你完成这个项目后就会发现好多代码可以重用,需要封装重构了,到时再进行处理既容易理解,能力也会提升很快。

  3.程序文件分类摆放

  如果你的项目文件随便摆放,当程序文件越来越多时,就会非常混乱,要找某些功能函数时,就会很困难,所以在开发前要做好规划。

  比如common文件夹放各种工具函数包;config放各种配置文件;api放各种接口文件等

  4.面向对象

  理解什么是面向对象,清楚面向对象的几大原则,并能应用到编码当中。

  5.做好开发文档管理工作

  开发时尽量编写与维护好各种开发文档,比如原型、数据字典、业务流程图、接口文档等,如果是团队合作项目,还要维护好甘特图、开发进度管理表和各种约束、分析、会议记要等文档。

  当然小项目不用那么复杂,不维护一般来说也没太大的问题,如果可能的话还是维护好接口文档会比较好,不然二次开发或与别人合作开发时,就呵呵了...

  一般接口文档都会用wiki来记录,网上有很多开源免费的wiki,安装使用都很方便,比如:ShowDoc

  6.代码版本控制

  虽然是小项目,最好也用用SVN或Git等版本控制比较好。没有版本控制的项目,有时写着写着,想回滚以前版本时,或代码出现问题要回滚时,我只能呵呵了

  7.开发时间的评估与控制

  小项目在时间管理上也不要太大意了,有时一不留神就到了交付时间,如果还没开发出来就惨了,怎么评估和控制好项目开发时间也是很有讲究的。

  在开始一个项目时,一般都会对项目进行分解,细分到每个页面和接口,甚至更细的都有,然后分配这些开发任务到个人,有了这些详细的任务,要评估具体的开发周期就好办多了。在评估的时候,因为关乎到个人的开发时间控制,都会去思考每个页面与接口要处理的内容是什么,会遇到哪些技术难题,要怎么处理;又或者是这些页面或接口涉及的业务流程是什么,是否清晰,流转是否存在问题等等。这等于在开发前就已经在大脑里面将代码写过一便了,所以预估的时间大都八九不离十。

  而项目控制又涉及到项目管理,这里就不再扩展了,如果一个个往细说就没完没了了。

  唔唔,到吃饭的地方了,我看看哪家比较贵又吃不饱的,得好好挑一下才行。

  老大,大哥,注意口下留情啊!!!您知道小弟囊中羞涩,放过我的钱包吧!!!等收了项目款后再请你大吃一餐,不然剩下的日子我得天天吃泡面了,嗯,我看这家不错,我经常来,就去这家吧......

  老菜:@.@

 

 

版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

python开发QQ群:669058475    作者博客:http://www.cnblogs.com/EmptyFS/

只有将自己置空,才能装进更多的东西!我是陈焕,资深IT码农,爱分享爱学习,一位奔跑在求知路上的践行者。 


    本文转自 AllEmpty 博客园博客,原文链接:http://www.cnblogs.com/EmptyFS/p/7488816.html ,如需转载请自行联系原作者




相关文章
|
20天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
36 4
|
22天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
82 3
|
30天前
|
SQL 安全 PHP
PHP 自发布以来一直在 Web 开发领域占据重要地位,PHP 8 更是带来了属性、刚性类型等新特性。
【10月更文挑战第1天】PHP 自问世以来,凭借其易用性和灵活性,在 Web 开发领域迅速崛起。从简单的网页脚本语言逐步演进为支持面向对象编程的现代语言,尤其自 PHP 5.3 引入命名空间后,代码组织和维护变得更加高效。PHP 7 的性能优化和 PHP 8 的新特性(如属性和刚性类型)进一步巩固了其地位。框架如 Laravel、Symfony、Yii2 和 CodeIgniter 等简化了开发流程,提高了效率和安全性。
40 2
|
4天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
73 44
|
2天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
8 3
|
4天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
17 3
|
5天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
22 2
|
27天前
|
设计模式 JavaScript 前端开发
浅谈JavaScript 框架在现代 Web 开发中的作用
浅谈JavaScript 框架在现代 Web 开发中的作用
34 12
|
22天前
|
前端开发 JavaScript UED
构建现代Web应用:使用React框架打造单页面应用
【10月更文挑战第9天】构建现代Web应用:使用React框架打造单页面应用
|
22天前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门