我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

缩进风格

指数 缩进风格

在程序设计中,缩进风格(indent style)是管理以表达程序结构的一种约定。本条目主要讨论,例如C及其后裔,但这也可以(并经常)适用于大多数其他编程语言(尤其是),其中的则并不重要。缩进风格是代码风格的一个方面。 缩进在大多数编程语言中不是必要条件,而只是作为。不过,缩进有助于更好地向人类阅读者表达程序的结构。尤其是用于澄清控制流程结构(例如条件或循环)与其内部、外部代码之间的关系。不过,部分语言(例如Python和occam)使用缩进而非大括号或关键词来确定结构,这被称为越位规则。在这种语言中,缩进对编译器或解释器有意义,而不仅仅是清晰度或风格问题。.

目录

  1. 32 关系: 丹尼斯·里奇布萊恩·柯林漢代码风格代码重构循環複雜度傑米·加文斯基C++C程序设计语言 (书)C语言移植 (軟體)程序设计类Unix系统编程语言Emacs製表鍵語法突顯越位规则跨平台过程式编程HaskellHTMLIndent (UNIX)Mac系列Microsoft WindowsOccamPythonRubyShell脚本UNIXWordPress控制流程操作系统

  2. 文本编辑器功能
  3. 源代码
  4. 軟體戰爭

丹尼斯·里奇

丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie,),美國計算機科學家。駭客圈子通常稱他為「dmr」。他是C語言的創造者、Unix作業系統的關鍵開發者 ,對電腦領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。.

查看 缩进风格和丹尼斯·里奇

布萊恩·柯林漢

布萊恩·威爾森·柯林漢(Brian Wilson Kernighan,),生於加拿大多倫多,加拿大計算機科學家,曾服務於貝爾實驗室,為普林斯顿大学教授。他曾參與Unix的研發,也是AMPL與AWK的共同創造者之一。 與丹尼斯·里奇共同寫作了C語言的第一本著作《C程序设计语言》之後,他的名字開始為人所熟知。他也創作了許多Unix上的程式,包括在Version 7 Unix上的ditroff與cron。.

查看 缩进风格和布萊恩·柯林漢

代码风格

代码风格(Programming style)即程序开发人员所编写源代码的书写风格。良好代码风格的特点是使代码易读。 总结程序设计实践中的经验,代码风格的要素包括(但不限于)以下几点:.

查看 缩进风格和代码风格

代码重构

代码重构(Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。.

查看 缩进风格和代码重构

循環複雜度

循環複雜度(Cyclomatic complexity)也稱為條件複雜度或圈复杂度,是一種軟體度量,是由在1976年提出,用來表示程式的複雜度,其符號為VG或是M。循環複雜度由程式的源代碼中量測線性獨立路徑的個數。此概念有些類似的量測文字複雜度的 ,不過方法不完全相同。 循環複雜度是由程式的來計算:有向圖的節點對應程式中個別的程式碼,而若一個程式執行後會立刻執行另一程式碼,會有邊連結二程式碼對應的節點。圈複雜度可應用在程式的子程序、模組、方法或類別。 麥凱布首先提出一種稱為「基礎路徑測試」(Basis Path Testing)的軟體測試方式,是測試程式中的每一線性獨立路徑,此情形的測試用例個數即為程式的循環複雜度。 「循環複雜度」的名稱有時會讓人誤解,因為此複雜度不只計算程式中的迴圈(循環)個數。循環複雜度是指程式的控制流圖中,若將結束點到啟始點再增加一個邊時,控制流圖中的圈(幾個邊形成封閉路徑)的個數。.

查看 缩进风格和循環複雜度

傑米·加文斯基

詹姆斯·沃納·加文斯基(James Werner "Jamie" Zawinski,),又名jwz,是一位美國黑客,知名於貢獻自由軟體專案Mozilla、XEmacs,以及早期版本的Netscape Navigator網頁瀏覽器。他維護提供螢幕保護程式的XScreenSaver專案,可供Mac OS X和使用X Window系統的Unix或类Unix操作系统使用。.

查看 缩进风格和傑米·加文斯基

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

查看 缩进风格和C++

C程序设计语言 (书)

《C程序设计语言》(The C Programming Language),又譯為C語言程式設計,是介紹C語言的计算机科学著作,由计算机科学家布萊恩·柯林漢(Brian Kernighan)和C语言之父丹尼斯·里奇(Dennis Ritchie)合著,是第一部介紹C語言編程方法的書籍。它以作者名字的縮寫被簡稱為K&R;或是因封面颜色,被稱為白皮书。 它在C语言的发展和普及过程中起到了非常重要的作用,被視為是C語言的業界標準規範,而且至今仍然广泛使用。它被公认为计算机技术著作的典范,以清晰简洁的文字讲述而著称。书中用"hello world"为实例开始讲解程序设计,成为程序设计语言图书的传统。 该书第1版出版于1978年,第2版(也是最新版本)出版于1988年,被译为世界上包括中文在内的20多种文字。.

查看 缩进风格和C程序设计语言 (书)

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

查看 缩进风格和C语言

移植 (軟體)

在軟體工程中,移植(Porting)是一種軟體發展程序,將某個可執行的程式,由它原先的環境中,遷移到另一個環境,讓它可以重新運作。改變的環境可能是硬體或軟體,包括處理器架構、作業系統、軟體庫等。 是當你進行軟體移植時,需要重新改寫的原始碼越少,需要做的工時越少,這個軟體的可移植性就越高。.

查看 缩进风格和移植 (軟體)

程序设计

电脑程序设计(Computer programming),或稱程式設計(programming),是给出解决特定问题程序的过程,軟體開發過程中的重要步驟。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应包括分析、设计、编碼、测试、除错等不同阶段。 在计算机技术发展的早期,軟體開發主要就是程序设计。但随着技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如操作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的系統環境的一部分。这种情况下軟體開發的内容越来越丰富,不再只是纯粹的程序设计,还包括数据库设计、用户界面设计、通信协议设计和复杂的系统配置过程。 专业的程序设计人员被称为程序员。某种意思上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿愛達·勒芙蕾絲曾设计了巴贝奇分析机上計算伯努利數的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的突破性創新,愛達·勒芙蕾絲被称为世界上第一位程序员。 任何设计工作都是在各种条件限制和相互矛盾的需求之间寻求一种平衡。這種觀點反映在程式設計上,就是硬體儲存空間與程式執行時間的限制。 空間方面,在计算机技术发展的早期,由于机器资源比较昂贵,如何縮小儲存空間往往是设计关心的首要重點;而随着硬件技术的飞速发展,電腦上資料儲存媒體的價格降低,空間不再是考慮的第一要點,一些較耗時的運算也漸漸發展出以空間換取時間的模式。 時間方面,在早期,如何加強程式效率、縮短程式執行時間是程式設計師的共同目標;而在硬體效能進步、效率差距縮小,软件规模與複雜度卻日益增加的現在,程序的结构、可维护性、重複使用性、彈性等因素更顯得重要。在多人合作的程式設計專案裡,程式設計師們會加上各種註解以協助其他參與者理解程式碼,,但卻因能達到較好的溝通並提高程式碼的可維護性,而成為目前的主流。 然而,隨著智慧型手機等攜帶裝置的興起,執行時間的縮短與儲存空間的有效運用再次成為焦點,形成與主機伺服器類型應用程式不同的重點考慮方向。.

查看 缩进风格和程序设计

类Unix系统

类Unix系统(Unix-like)经常被称为 UN*X 或 *nix,指各种Unix的衍生系统,比如FreeBSD、OpenBSD、SUN公司的Solaris,以及各种与传统Unix类似的系统,例如Minix、Linux、QNX等。它们虽然有的是自由软件,有的是私有软件,但都相当程度地继承了原始UNIX的特性,有许多相似处,并且都在一定程度上遵守POSIX规范。 UNIX的商標權由國際開放標準組織所擁有,只有符合單一UNIX規範的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。.

查看 缩进风格和类Unix系统

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

查看 缩进风格和编程语言

Emacs

Emacs(,源自Editor MACroS,宏编辑器),是一个文本编辑器家族,具有强大的可扩展性,在程序员和其他以技术工作为主的计算机用户中广受欢迎。最初由Richard Stallman於1975年在MIT协同蓋伊·史提爾二世共同完成。这一创意的灵感来源于TECO宏编辑器TECMAC和TMACS,它们是由蓋伊·史提爾二世、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。 自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种分别是:1984年由理查·斯托曼发起并由他维护至2008年的GNU Emacs,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持着相当的兼容性。它们都使用了Emacs Lisp这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。 在Unix文化裡,Emacs是黑客们关于编辑器之战的两大主角之一,它的对手是vi(Vim)。.

查看 缩进风格和Emacs

製表鍵

在电脑键盘上,Tab鍵(製表鍵(tabulator key)或表格鍵(tabular key)的縮寫)用以將游標推進到下一個上。 「Tab」一詞由英文「tabulate」衍生而來,意思是「以表格、或表格形式排列資料」。在打字機上如果要輸入一份文字或數字表格,必須不斷使用空白鍵以及,不僅重複也十分費時。為了簡化這道程序,人們發明了可移動的槓桿,藉由在橫桿上移動而在頁面不同位置輸入。一開始這些機關必須手動設定,但不久便有了「Tab set」(設定Tab)與「tab clear」(清除Tab)按鍵。當Tab鍵彈起,打字機的滑動架便會推進到下一個定位點(tab stop),而這些定位點便對應到目前表格(即tab)的特定欄位位置。Tab機制也成為一種快速且一致統一各段落首行的方式。 在許多程式語言中可以使用逸脫字元\t插入一個定位字元。.

查看 缩进风格和製表鍵

語法突顯

語法突顯(Syntax highlighting,又称语法高亮、语法加亮),是指根據術語(關鍵字)類別來顯示不同的顏色与字體以增强可读性的一种编辑器特性。 这种功能可改善人对编辑器中内容(通常为源代碼)的可讀性,進而降低出现誤讀或誤寫而出现错误的几率。.

查看 缩进风格和語法突顯

越位规则

越位規則(Off-side rule)是指程式語言中,用縮排來表示的範圍。這名詞是來自Peter J. Landin,是足球中越位(offside)的雙關語。.

查看 缩进风格和越位规则

跨平台

跨平台泛指编程语言、软件或硬件设备可以在多种作業系統或不同硬體架構的電腦上運作。.

查看 缩进风格和跨平台

过程式编程

过程式程序设计(Procedural programming),又稱程序式編程、程序化編程,一種編程典範,有時會被視為是指令式編程的同義語。衍生自結構化編程(Structured programming),主要採取程序呼叫(procedure call)或函式呼叫(function call)的方式來進行流程控制。流程則由包涵一系列運算步驟的程序(Procedures),常式(routines),子程序(subroutines), 方法(methods),或函式(functions)來控制。在程式執行的任何一個時間點,都可以呼叫某個特定的程序。任何一個特定的程序,也能被任意一個程序或是它自己本身呼叫。 著名的例子有Linux內核,git,以及Apache HTTP Server等。 Category:編程典範.

查看 缩进风格和过程式编程

Haskell

Haskell()是一种标准化的,通用的纯函數程式語言,有非限定性语义和强静态类型。它的命名源自美国逻辑学家哈斯凱爾·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是第一類物件”。作为一门函數程式語言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母「λ」(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征, with 2 sections by William Craig, see paragraph 9E。.

查看 缩进风格和Haskell

HTML

超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计令人赏心悦目的网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可以读取HTML文件,并将其渲染成可视化网页。HTML描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。 HTML元素是构建网站的基石。HTML允许嵌入图像与对象,并且可以用于创建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。HTML的语言形式为尖括号包围的HTML元素(如),浏览器使用HTML标签和脚本来诠释网页内容,但不会将它们显示在页面上。 HTML可以嵌入如JavaScript的脚本语言,它们会影响HTML网页的行为。网页浏览器也可以引用层叠样式表(CSS)来定义文本和其它元素的外观与布局。维护HTML和CSS标准的组织万维网联盟(W3C)鼓励人们使用CSS替代一些用于表现的HTML元素。.

查看 缩进风格和HTML

Indent (UNIX)

indent是一個自Unix時代就已經存在的工具程式,可依使用者自行定義的程式設計風格重新縮排成C和C++程式碼的樣式。至於對C++的支援則被認為是實驗性的。.

查看 缩进风格和Indent (UNIX)

Mac系列

#重定向 麥金塔.

查看 缩进风格和Mac系列

Microsoft Windows

Microsoft Windows(中文有时譯作微軟--,通常不做翻译)是微軟公司推出的一系列操作系统。它問世於1985年,起初是MS-DOS之下的桌面環境,其後續版本逐漸發展成為主要为個人電腦和服务器用户設計的操作系統,并最终获得了世界个人电脑操作系統的垄断地位。此操作系統可以在几种不同类型的平台上运行,如个人电脑(PC)、移动裝置、服务器(Server)和嵌入式系統等等,其中在个人电脑的领域应用内最为普遍。在2004年國際數據資訊公司一次有关未来发展趋势的会议上,副董事长Avneesh Saxena宣布Windows拥有终端操作系统大约70%的市场份额 www.linuxworld.com.au。 Windows操作系統目前最新的穩定版是於2015年7月29日發佈的 Windows 10。Windows Server目前最新的穩定版是2016年9月26日發佈的Windows Server 2016。.

查看 缩进风格和Microsoft Windows

Occam

Occam,一種并行性程式語言,主要基於交談循序程式的程式代數,以及它的許多特色而實作。它的名稱來自於奥卡姆的威廉提出的奥卡姆剃刀(Occam's razor)原則。 類似於Pascal,Occam也是一種指令程序編程的程式語言。這個語言於1983年出現,由英國計算機科學家David May,以及Inmos的科學家,在東尼·霍爾提供顧問意見後,共同研發而成。.

查看 缩进风格和Occam

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

查看 缩进风格和Python

Ruby

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本電腦科學家松本行弘(Matz)设计并开发。 遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。.

查看 缩进风格和Ruby

Shell脚本

Shell脚本(Shell script),又稱Shell命令稿、程式化腳本,是一種電腦程式與文字檔案,內容由一連串的shell命令組成,經由Unix Shell直譯其內容後運作。被當成是一種腳本語言來設計,其運作方式與直譯語言相當,由Unix shell扮演命令行直譯器的角色,在讀取shell脚本之後,依序執行其中的shell命令,之後輸出結果。利用shell脚本可以進行系統管理,檔案操作等。 在Unix及所有的類Unix系統中,如Linux、FreeBSD等作業系統,都存在shell脚本。依照Unix shell的各種不同類型,shell脚本也有各種不同方言。在DOS、OS/2、Microsoft Windows中的批次檔,跟shell脚本有類似的功能。.

查看 缩进风格和Shell脚本

UNIX

UNIX,一种计算机操作系统,具有多任务、多用户的特征。于1969年,在美国AT&T公司的贝尔实验室开发類UNIX(UNIX-like)。.

查看 缩进风格和UNIX

WordPress

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress。到了2011年8月,约22%的新网站采用了WordPress。WordPress是目前因特网上最流行的博客系统。 2003年5月27日,WordPress从b2/cafelog分支,由马特·查尔斯·穆伦维格(Matt Mullenweg)和Mike Little开发。到了2011年12月,3.0版本已经被下载了超过6500万次。.

查看 缩进风格和WordPress

控制流程

控制流程(也稱為流程控制)是電腦運算領域的用語,意指在程式執行時,個別的指令(或是陳述、子程序)執行或求值的順序。不論是在宣告式程式語言或是函數程式語言中,都有類似的概念。 在宣告式的程式語言中,流程控制指令是指會改變程式執行順序的指令,可能是執行不同位置的指令,或是在二段(或多段)程式中選擇一個執行。 不同的程式語言所提供的流程控制指令也會隨之不同,但一般可以分為以下四種:.

查看 缩进风格和控制流程

操作系统

操作系统(operating system,縮寫作 OS)是管理计算机硬件與软件資源的计算机程序,同时也是计算机系统的核心与基石。操作系统需要处理如管理與配置内存、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作网络與管理文件系统等基本事務。操作系统也提供一個讓使用者與系統互動的操作界面。 操作系统的型態非常多樣,不同機器安裝的操作系统可從簡單到複雜,可從行動電話的嵌入式系统到超級電腦的大型作業系統。許多操作系统製造者對它涵盖范畴的定义也不尽一致,例如有些操作系统整合了图形用户界面,而有些僅使用命令行界面,而將图形用户界面視為一種非必要的應用程式。 操作系统理论在计算机科学中,為歷史悠久的分支;。.

查看 缩进风格和操作系统

另见

文本编辑器功能

源代码

軟體戰爭