程序员最重要的编程习惯

有那么一类程序员,他们的产出总是很高,遇到问题他们就像变戏法一样,能直接找到关键点,而且他们似乎很少加班。另一类程序员,在电脑前坐很久很久,不停的敲着键盘,不停的运行代码,找问题,非常努力,但经常是解决一个问题,引入了更多的问题。

        成为一个专业的程序员,不可能有一个万能公式,一般都是很多方面混合出来的,不同的人很可能走了很多不同的路径。但是有一些非常常见的错误,却会极大的阻碍一个程序员的成长。这里边最常见的一个就是写程序不经过大脑。我们一定要记住:

程序是用大脑写的,而不是用手写。

        初看这句话简直就是一句废话,根本就是不言自明的嘛。然而,越简单的概念,我们越容易忽视,认为他不重要,实际行事的时候却经常反其道而行。

        看一下几种常见的编程方式:拿到任务,马上开写,把功能实现了再说,结果一般是,只实现好了正常流程,失败异常流程往往是在之后再打补丁,不断的修改,结果就是混乱的结构,意大利面条式的代码。还有另一种场景,遇到一个bug,上手就开始试,改改这里,改改那里,然后忽然改好了,提交之后万事大吉,大部分时候这只是修改了一个表层原因。这些行为的主要原因其实都是在用手写代码,而不是大脑。

        详细点说,用大脑写代码的意思就是程序应该是在脑袋里成型的。首先,即便是上边那些混乱的写法,也肯定要过大脑的,毕竟不经过大脑,你其实很难下意识打出一行代码的,但问题就是过大脑的部分实在太少了,每次就那么几行上下文。真正高级的做法是,你能够在脑袋里把整套代码的流程推导一遍,让程序在你的大脑里运行一遍,这时候你会发现写下来会是非常轻松的体力活。有那么一些程序员几乎不加班,但是效率还是很高,那就是因为他们其实无时无刻都能在大脑里写程序。成为一个高级程序最重要的就是要有在大脑里完整的写完一段代码的能力。

        最重要的编程习惯就是开始真正敲代码之前,在大脑里先把程序写好。

        如果接受了大脑写代码的说法,那么你会得到一个非常有意思的结论,

语言不重要,重要的是思想。

        这句话也是很多人在说,但其实不知道在说什么。我们先看一个问题,在大脑里写程序的时候,你觉得需要使用某一门专门的语言来思考吗?类比一下,这就如问你,你平时思考的时候,需要用中文来思考吗?这又是一个看起来非常简单,但很多人没有去思考过的概念,结论是不需要。这里就需要个人去深刻的体会一下了,如果你会多门语言,那么会更有能力自省出来,你会更容易发现自己其实并没有总是在用某一门语言思考。

        大部分时候,思考会是一些多种东西的混合,比如思考怎么游泳,你脑海里会浮现出一个画面,有一个人在水里游泳,而不会去思考怎么用语言去描述这个游泳的动作。同理到写程序,你其实是在思考的程序逻辑和程序结构,更可能是思考方式会是这样的,你想着这里需要一块东西,里边要存一些信息,然后你会想一些对某些东西要做的操作,有时候你又会想如果处于某种情况,要怎么给出错结果,诸如此类的。

        这些东西,其实很少会和具体的语言绑定,你并不太可能去用一门语言的具体语法去思考类怎么写,函数怎么写,更多的会像一种你自己在使用的伪代码。甚至有时候你可能会用图像化的方式去思考,比如一个树状结构的东西,上边挂着些东西,你用什么方式去遍历她的叶子。

        不过这里边有个需要注意的,如果你没有学过一些编程的基本概念,那么你就可能无法运用它去思考,比如当你完全不知道函数是什么,那么你在思考程序的时候,就只能一条程序写到底。所以从这个层面来说,语言又很重要,因为你需要他去学得一些编程的基本概念,让你有东西可想。

总结一下:

写程序是用大脑写,而不是用手写。

        用大脑写程序指的是,在动手敲代码之前,在大脑里先运行一遍你的程序。

        语言不重要,重要的是思想,但你需要学习语言来获得编程的基本概念来让你有东西可想。



作者:素书_
鏈接:https://www.jianshu.com/p/16460af82f89
 

本系统采用Python编程语言中的Flask框架作为基础架构,实现了一个面向二手商品交易的网络平台。该平台具备完整的前端展示与后端管理功能,适合用作学术研究、课程作业或个人技术能力训练的实际案例。Flask作为一种简洁高效的Web开发框架,能够以模块化方式支持网站功能的快速搭建。在本系统中,Flask承担了核心服务端的角色,主要完成请求响应处理、数据运算及业务流程控制等任务。 开发工具选用PyCharm集成环境。这款由JetBrains推出的Python专用编辑器集成了智能代码提示、错误检测、程序调试与自动化测试等多种辅助功能,显著提升了软件编写与维护的效率。通过该环境,开发者可便捷地进行项目组织与问题排查。 数据存储部分采用MySQL关系型数据库管理系统,用于保存会员资料、产品信息及订单历史等内容。MySQL具备良好的稳定性和处理性能,常被各类网络服务所采用。在Flask体系内,一般会配合SQLAlchemy这一对象关系映射工具使用,使得开发者能够通过Python类对象直接管理数据实体,避免手动编写结构化查询语句。 缓存服务由Redis内存数据库提供支持。Redis是一种支持持久化存储的开放源代码内存键值存储系统,可作为高速缓存、临时数据库或消息代理使用。在本系统中,Redis可能用于暂存高频访问的商品内容、用户登录状态等动态信息,从而加快数据获取速度,降低主数据库的查询负载。 项目归档文件“Python_Flask_ershou-master”预计包含以下关键组成部分: 1. 应用主程序(app.py):包含Flask应用初始化代码及请求路径映射规则。 2. 数据模型定义(models.py):通过SQLAlchemy声明与数据库表对应的类结构。 3. 视图控制器(views.py):包含处理各类网络请求并生成回复的业务函数,涵盖账户管理、商品展示、订单处理等操作。 4. 页面模板目录(templates):存储用于动态生成网页的HTML模板文件。 5. 静态资源目录(static):存放层叠样式表、客户端脚本及图像等固定资源。 6. 依赖清单(requirements.txt):记录项目运行所需的所有第三方Python库及其版本号,便于环境重建。 7. 参数配置(config.py):集中设置数据库连接参数、缓存服务器地址等运行配置。 此外,项目还可能包含自动化测试用例、数据库结构迁移工具以及运行部署相关文档。通过构建此系统,开发者能够系统掌握Flask框架的实际运用,理解用户身份验证、访问控制、数据持久化、界面动态生成等网络应用关键技术,同时熟悉MySQL数据库运维与Redis缓存机制的应用方法。对于入门阶段的学习者而言,该系统可作为综合性的实践训练载体,有效促进Python网络编程技能的提升。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值