开发者

What is the difference between using tab and space when we do source code formatting?

开发者 https://www.devze.com 2023-04-12 19:27 出处:网络
When we want to give some formatting to code to make it more readable. We can use both Tab and Space (by pressing space bar on keyboard). Many time I give space manually.

When we want to give some formatting to code to make it more readable. We can use both Tab and Space (by pressing space bar on keyboard). Many time I give space manually.

I've some confusions

  • Is there any difference between them?
  • Is using tab better than spaces?
  • Does using space increase the size 开发者_JS百科of document and tab not?
  • Is there any differences between single tab/space and multiple. in terms of page size?
  • Is there any difference on using tab or space in HTML, CSS and Javascript?

Dreamweaver has this option in preferences

What is the difference between using tab and space when we do source code formatting?


Tabs need less characters and are formatted by users (some display as 2, some as 4 spaces), what can make some code look bad on some other environment.

Spaces consume more KBs but look equal everywhere.

Good editors have retab-functions to convert those.

In JS and CSS it does not matter, HTML should not matter, but can in some cases.


Using tabs is annoying because some editors interpret a tab as 4 spaces, some others as 8 spaces, and some others as 2 spaces, which makes the indentation completely wrong if tabs and spaces are used in the same file.

I always use spaces only to avoid this problem.

It could slightly increase the download size of your pages, but you could also minify the JavaScript and the CSS files, and/or use gzip on-the-fly compression to mitigate this small problem.


Using Tabs :

  • Tab takes less space
  • Tab is user system defined :: So in my case if i prefer 2space::tab i can view it that way
  • Moving one indentation level back is lot easier if you use tabs .

Using Spaces :

  • Tab space ratio usually defaults to 1:8 . So on all 'newbie' systems your code will be difficult to read . Also if you view your code on github / pastebin there again it will be some what awkward .

My take : Go with tabs for development , find replace '\t' with ' ' [4 spaces] and then for release minify [ this strips tabs and spaces ] .


Personally, I see it as an issue of preference involving ease of formatting. I'd rather use tab, because it's only one click and it simulates 4-5 spaces. A lot simpler in my mind. Otherwise, I don't see much purpose.


In pretty much all cases, you can use tabs or spaces and it won't make a difference. Using tabs will make the source files slightly smaller, while using spaces will ensure that spacing is consistent for everyone (since tabs can have a variable width).

I believe the only language where it actually matters is Python. For any other language, tabs vs. spaces is basically even - just be sure to pick one and be consistent with it.


Using a tab technically takes up less memory than using, say, 5 spaces. So when trying to optimize file size it could be helpful. However minifying text would have a better effect. Look up minifying code for more on this topic.

Some people prefer spaces and some prefer tabs. Its a matter of preference and many folks have different reasons for it. Here is a great article on this point: http://www.jwz.org/doc/tabs-vs-spaces.html

Chances are for your application it wont matter much.


If your code is being downloaded, such as HTML or Javascript or CSS, it makes a difference because the file is larger if spaces are used. How much larger depends on the number of lines and indent levels. It's the same as including comments in the code: they do increase file size.

If your code will be compiled, such as Actionscript or Java or C, or tokenized such as Perl, it makes no difference whether you use spaces or tabs, and you can include as many paragraphs of comments/documentation as you like, because it's only for your own benefit. All those tabs and spaces and comments will be ignored when the final, lower-level code is built.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号