V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
yakczh
V2EX  ›  Python

html缩进 vs 程序逻辑缩进

  •  
  •   yakczh · 2013-05-19 23:47:02 +08:00 · 3284 次点击
    这是一个创建于 3994 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这里说下两者的区别
    html有层次结构是相对固定,明显的上下级,当然div也可以互相嵌套,只是div不光在做数据容器,还负责了一部分布局的任务,但是有了html5的header.footer,nav,aside,column以后,div从布局中会,这样最上层是框架,中间是容器,最末端是数据节点,如果用缩进来表示,就能很清楚地看到结构,而且这个这个结构是相对稳定的,,那怕是重构,改动也不是很大
    body 不会出现在 div里面,head也不会出现script ,tr也不会调到td下面
    但是语言逻辑结构是相互独自的,并没有上下之分,while 也可以套在if里,if也可以套在while里
    具体那个套在哪个里面,完全看业务逻辑的变化,没有固定的模式,
    在代码逻辑相对简单时,这种缩进可能让程序看起来更清楚,
    但当业务一复杂以后,当你发现你要调整代码时,这种缩进带来的坏处远远超过了他带来的好处
    而且可以你改动过的代码,过一段时间还是要调整,除非你写出那种能预知未来需求的代码
    所以相比较而言,html缩进要比代码逻辑的缩进是更好的一种方式
    5 条回复    1970-01-01 08:00:00 +08:00
    gamexg
        1
    gamexg  
       2013-05-20 11:35:45 +08:00
    区别不大,div 里面也会有div ,增加一层减去一层也会造成缩进出问题。
    html有一个好处是缩进不涉及语义可以通过ide格式化,但是python的缩进涉及语义就需要人工辅助了。
    yakczh
        2
    yakczh  
    OP
       2013-05-20 12:01:57 +08:00
    有了html5的 section,column,hgroup,article标签以后,div套div的情况会大副减少
    akira
        3
    akira  
       2013-05-20 15:31:43 +08:00
    非python语言就毫无压力了。
    robertlyc
        4
    robertlyc  
       2013-05-21 09:35:35 +08:00
    coffee, haml, jade都是缩进的
    yakczh
        5
    yakczh  
    OP
       2013-05-21 11:15:38 +08:00
    可以参观下写nodejs的人对coffee的欢迎程度 
    http://cnodejs.org/topic/51932f3363e9f8a542da8d06
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4270 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:09 · PVG 12:09 · LAX 21:09 · JFK 00:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.