KDay N:经验总结畅想web应用

坚持将爽的体验整理为文章发布分享了出来,不爽的也汇报回去...这些都是对社区的贡献;

最后小白将自个儿在 问卷系统 开发过程中的体验综合到了一张趋势图谱中:

图 KdayN-1 问卷开发体验变迁趋势图

KDayN-1.png

进一步想到的优化方向
  1. 减少硬盘的读取次数
  2. 减少内存占用空间
  3. 加速响应处理
  4. ..等等,是任何功能站点必定要面对的优化... ...

经验总结

在Karrigell 中摸爬滚打几日,也算体会到一些经验

有关Karrigell 开发

  • 教程要多看!

    • 开始在纯 .pih 模式中纠缠,回想起来真的累哪! 要是早点对 .ks 的方便有所体验,就可以节省不少时间
    • Cheetah 模板系统,已经在 Karrigell 2.2 系统中内含了,没有注意才使用了原始的方式来使用
    • 不过,后来充分信任 HTMLTags 函式化的NHML 生成,感受就非常好也... !

  • 勇于尝试,接受不同的思路
  • 同时也要勇于抛弃不好的代码
  • 只有更好,没有最好!!

    • 但是,保证当前已经完成的功能是可用的,是够用的^__^

有关Karrigell 调试

  1. 页面空白,源代码都为空时,一定是Python 崩溃,或是不吻合语法规则,根本没有运行起来!
    • 不过,Karrigell 足够皮实,不会崩溃的,马上Ctrl+z 几次,就可以知道哪少括号什么的了

  2. 有时候 print object 页面没有任何变化,不要担心

    • 看一下子HTML 的源代码吧!
    • 类似<mod_ks.Script instance at 0x00E56DF0> 这样的Python 对象属性输出,在页面中会被浏览器处理为非法HTML节点而不显示的!

  3. 作为一个快捷开发为豪的人,一定要不求甚解...
    • 好使就成,至于到底为什么,先别想,将来自然会明白的,
    • 要知道人脑有下意识的,小白的所有疑问会在后台进程中一直运算到解答为止,即所谓灵感

    • 有时候,明明是个字典对象,但是小白不到看相关键值来调用内容,那未就使用.keys()[]的形式来输出吧;反正,小白只是要内容,不管键名的;-)

有关 Karrigell 站点组织

  • 重构是必须的,自然的
  • 设计不如实现

    • 开始一定是模糊的遐想,只有快速变为可接触的功能,才可以进行改善
    • 这样的开发才是最自然的

      冲动->弱功能->利用已有的模块->可用->优化->如果牵连出多于三个以上的大问题的修改,立即换个方法
       ^                                  |
       |                                  |
       +----------------------------------+
  • 面向数据是核心... 在理性用户面前
  • 要连续作业! ! 不然的话的随意定的变量是干什么的,小白明天一定想不起来
    • 所以,也只有 Python 才有可能在少量的变量和代码中,实现小白的想象

有关CSS设计

CSS提供了标准快捷的外观控制的同时也是有潜在问题的...

  • 在敏捷开发中,小白可以利用 CSS 快速改变外观,
  • 但是与语言不同的在于,CSS 不能进行编辑判别,小白只能 为不同的情况设立专用的ID或是类来协助CSS的渲染命中:
    • 导致,CSS的设定增长的速度可以比小白使用的函式还要快
    • 可惜,现在没有什么好的想法来进行有效,聪明的控制

TODO

至此,小白利用几天空闲时间,快速将原来的 数据库为 基础,PHP为动态语言的简单问卷系统重构为纯Python实现,但是:

  • 大多数功能都是随想随写成的,没有进行规划,要进一步开发的话,至少得有:
  • 增加/删除问卷
  • 丰富问卷形式,可以多选,填写补充信息...
  • 支持 slide 方式,即一页接一页的回答
  • 丰富 JVF 的规则集合
  • 优化 JVF 的配置文件处理,嵌入到HTML的 <XML> 数据岛中

  • 优化KQF 与 JVF 配合起来,更加方便好用

  • 问卷系统外观风格的快速切换~实现皮肤功能
  • ... ... 需求是变化莫测的,人的欲望也是无常的... ... 但是,Python 是电池内置的,是足够强大的,是可以快速支持所有想象的!

{{{脚注:: 所谓Python是电池内置, 就是说, Python语言本身就已经内置了足够多的实用模块, 这些模块足以完成大多数常见的任务. 这是由Rob Andrews在文章Batteries Included A quick look at Python modules中首次提出电池内置这个说法, 这篇文章主要是讲了Python中模块的一些用法. 访问地址: http://www.uselesspython.com/BatteriesIncluded.html 精巧地址: http://bit.ly/2vPE15 }}} 小白愿意分享Pythonic 体验给任何有兴趣的好人,也热切期待好人的好作品!

实例下载

使用SVN下载地址:

练习

  • 读者做到这一步应该非常非常了解Karrigell的开发流程了, 接下来还是要对已有的web应用进行优化...这些只能通过自己不断的学习慢慢了解 (^_^)

ObpLovelyPythonEd/KdayStory (last edited 2009-12-25 07:17:16 by localhost)