博客园首页新随笔联系管理订阅 随笔- 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 ,如需转载请自行联系原作者




相关文章
|
18天前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
113 3
|
26天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
129 45
|
7天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
21 2
|
21天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
24 3
|
21天前
|
前端开发 JavaScript 开发工具
从框架到现代Web开发实践
从框架到现代Web开发实践
31 1
|
21天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
37 1
|
24天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
25 3
|
24天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。