Heim > Fragen und Antworten > Hauptteil
最近在学习《Flask web开发》这本书,基本上已经跟着书把书中的示例代码都写了一遍。现在感觉对Flask有些入门了,想自己写一个Flask应用,但是又感觉无从下手。
据说好的程序员应该用大于50%的时间做设计,其它时间写代码。目前我能想到的设计项目有:
程序逻辑、功能设计(用户使用时的流程,该实现哪些功能)
数据库模型设计(Models)
表单设计(Forms)
路由设计(Views)
Jinja模版设计(Templates,包括可以复用的模版代码)
前端设计(准备使用bootstrap框架,但仍然要考虑:该在哪个页面引入哪个页面的超链接,比如登录页面中添加一个注册的链接;页面内容的布局)
安全设计(在前端和后端都要对用户的提交做限制,以及对用户权限的检查)
请问各位大神在做Flask web开发的时候思路是怎样的?我列出的这些是否正确,该以一个怎样的顺序进行?
伊谢尔伦2017-04-18 09:17:05
谢邀~
先说一句,谁说的好的程序员 50% 的时间花在设计上?扯淡!好的程序员 80% 的时间花在重构(UT)上!
我认为题主的问题在于想太多,做太少。
开发一个 Web 程序怎么做?我选择 Flask 就是因为开发够快,自己熟悉一套 Flask 的代码组织结构,这样整个代码框架就搭起来了。代码的最终目的无非是操作数据,所以把数据(Model)定义好,其他的什么 view,service 无非就是对数据的 CRUD。
同样是 CRUD,为什么有的人就写得那么好?除了经验之外,重构必不可少,好代码都是打磨出来的,这个时候是体现工匠精神的时候,然而,在大环境下,能重构1-2次的人不多,能有时间和耐心重构个3-5次的人就更少了,所以好的设计也不多,因为我认为好的设计也是重构出来的。
最后补一句:UT 是重构的基石。
高洛峰2017-04-18 09:17:05
谢邀~
其实像题主这类问题并不适合在这里提问,毕竟这里这是一个解决具体的实际问题的社区,而题主疑惑的是一个大的方向。
要问怎么学习,没有什么其他方法,动手做,读源码。对于你目前的状况,规划太多不动手做也没用。
建议从一个最简单的登录功能开始,登录成功后显示登录用户信息。所以这里会牵涉到数据库用户表、表单提交、密码校验、登录跳转等基本操作。当这个功能完成了,再扩展其他功能,也就可以信手拈来了。觉得自己写前端不好看就用你说的bootstrap前端UI框架,也可以做一个漂亮简单的小网站。
之后你可以去思考你想要做一个什么样的东西,学习产品相关的知识,把它当做自己的一个产品不断补充完善。慢慢的你可以购买云服务域名,部署到服务器上,这样你就学习到了运维的基础知识。这个时候你会试着去推广自己的产品,你可以去补充运营相关的知识。渐渐的你有了用户,你想着去融资了,你要做BP,深入挖掘商业模式,以后的以后...
太多了,但这些都是想象,你得完成第一步,就是你要先实现一个登录功能,加油吧!我也是从菜鸟一步一步走来,我能理解,也能包容,但我更希望你能够脱离书本实实在在的写点东西,当你这样去做了,或许你就不会有这样的疑问了。