사용자 도구

사이트 도구


javascript:lint

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

javascript:lint [2012/05/25 11:27]
kwon37xi 새로 만듦
javascript:lint [2012/08/01 16:39] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Javascript Lint ====== ====== Javascript Lint ======
  
-  * [[http://​javascriptlint.com/​|JavaScript Lint]] : 문법 오류 검사 위주의 경우 좋다. 특히 설정 파일을 조정하면 세미콜론 오류만 잡아내는 것이 가능하다. 
   * [[http://​www.jslint.com/​|JSLint]] : Douglas Crockford의 JSLint. 비문법적 오류들을 많이 잡아낸다.   * [[http://​www.jslint.com/​|JSLint]] : Douglas Crockford의 JSLint. 비문법적 오류들을 많이 잡아낸다.
   * [[http://​www.jshint.com/​|JSHint,​ A JavaScript Code Quality Tool]]   * [[http://​www.jshint.com/​|JSHint,​ A JavaScript Code Quality Tool]]
 +  * [[http://​javascriptlint.com/​|JavaScript Lint]] : 문법 오류 검사 위주의 경우 좋다. 특히 설정 파일을 조정하면 세미콜론 오류만 잡아내는 것이 가능하다.
 +    * 세미콜론만 잡아내는 설정파일<​code>​
 +#
 +# Configuration File for JavaScript Lint 0.3.0
 +# Developed by Matthias Miller (http://​www.JavaScriptLint.com)
 +#
 +# This configuration file can be used to lint a collection of scripts, or to enable
 +# or disable warnings for scripts that are linted via the command line.
 +#
 +
 +### Warnings
 +# Enable or disable warnings based on requirements.
 +# Use "​+WarningName"​ to display or "​-WarningName"​ to suppress.
 +#
 +-no_return_value ​             # function {0} does not always return a value
 +-duplicate_formal ​            # duplicate formal argument {0}
 +-equal_as_assign ​             # test for equality (==) mistyped as assignment (=)?{0}
 +-var_hides_arg ​               # variable {0} hides argument
 +-redeclared_var ​              # redeclaration of {0} {1}
 +-anon_no_return_value ​        # anonymous function does not always return a value
 ++missing_semicolon ​           # missing semicolon
 +-meaningless_block ​           # meaningless block; curly braces have no impact
 +-comma_separated_stmts ​       # multiple statements separated by commas (use semicolons?​)
 +-unreachable_code ​            # unreachable code
 +-missing_break ​               # missing break statement
 +-missing_break_for_last_case ​ # missing break statement for last case in switch
 +-comparison_type_conv ​        # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==)
 +-inc_dec_within_stmt ​         # increment (--) and decrement (--) operators used as part of greater statement
 +-useless_void ​                # use of the void type may be unnecessary (void is always undefined)
 +-multiple_plus_minus ​         # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs
 ++use_of_label ​                # use of label
 +-block_without_braces ​        # block statement without curly braces
 +-leading_decimal_point ​       # leading decimal point may indicate a number or an object member
 +-trailing_decimal_point ​      # trailing decimal point may indicate a number or an object member
 +-octal_number ​                # leading zeros make an octal number
 +-nested_comment ​              # nested comment
 +-misplaced_regex ​             # regular expressions should be preceded by a left parenthesis,​ assignment, colon, or comma
 +-ambiguous_newline ​           # unexpected end of line; it is ambiguous whether these lines are part of the same statement
 +-empty_statement ​             # empty statement or extra semicolon
 +-missing_option_explicit ​     # the "​option explicit"​ control comment is missing
 +-partial_option_explicit ​     # the "​option explicit"​ control comment, if used, must be in the first script tag
 +-dup_option_explicit ​         # duplicate "​option explicit"​ control comment
 +-useless_assign ​              # useless assignment
 +-ambiguous_nested_stmt ​       # block statements containing block statements should use curly braces to resolve ambiguity
 +-ambiguous_else_stmt ​         # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent)
 +-missing_default_case ​        # missing default case in switch statement
 +-duplicate_case_in_switch ​    # duplicate case in switch statements
 +-default_not_at_end ​          # the default case is not at the end of the switch statement
 +-legacy_cc_not_understood ​    # couldn'​t understand control comment using /​*@keyword@*/​ syntax
 +-jsl_cc_not_understood ​       # couldn'​t understand control comment using /​*jsl:​keyword*/​ syntax
 +-useless_comparison ​          # useless comparison; comparing identical expressions
 +-with_statement ​              # with statement hides undeclared variables; use temporary variable instead
 +-trailing_comma_in_array ​     # extra comma is not recommended in array initializers
 +-assign_to_function_call ​     # assignment to a function call
 +-parseint_missing_radix ​      # parseInt missing radix parameter
 +
 +
 +### Output format
 +# Customize the format of the error message.
 +#    __FILE__ indicates current file path
 +#    __FILENAME__ indicates current file name
 +#    __LINE__ indicates current line
 +#    __ERROR__ indicates error message
 +#
 +# Visual Studio syntax (default):
 ++output-format __FILE__(__LINE__):​ __ERROR__
 +# Alternative syntax:
 +#​+output-format __FILE__:​__LINE__:​ __ERROR__
 +
 +
 +### Context
 +# Show the in-line position of the error.
 +# Use "​+context"​ to display or "​-context"​ to suppress.
 +#
 ++context
 +
 +
 +### Semicolons
 +# By default, assignments of an anonymous function to a variable or
 +# property (such as a function prototype) must be followed by a semicolon.
 +#
 ++lambda_assign_requires_semicolon
 +
 +
 +### Control Comments
 +# Both JavaScript Lint and the JScript interpreter confuse each other with the syntax for
 +# the /​*@keyword@*/​ control comments and JScript conditional comments. (The latter is
 +# enabled in JScript with @cc_on@). The /​*jsl:​keyword*/​ syntax is preferred for this reason,
 +# although legacy control comments are enabled by default for backward compatibility.
 +#
 ++legacy_control_comments
 +
 +
 +### JScript Function Extensions
 +# JScript allows member functions to be defined like this:
 +#     ​function MyObj() { /​*constructor*/​ }
 +#     ​function MyObj.prototype.go() { /*member function*/ }
 +#
 +# It also allows events to be attached like this:
 +#     ​function window::​onload() { /*init page*/ }
 +#
 +# This is a Microsoft-only JavaScript extension. Enable this setting to allow them.
 +#
 +-jscript_function_extensions
 +
 +
 +### Defining identifiers
 +# By default, "​option explicit"​ is enabled on a per-file basis.
 +# To enable this for all files, use "​+always_use_option_explicit"​
 +-always_use_option_explicit
 +
 +# Define certain identifiers of which the lint is not aware.
 +# (Use this in conjunction with the "​undeclared identifier"​ warning.)
 +#
 +# Common uses for webpages might be:
 +#+define window
 +#+define document
 +
 +
 +### Interactive
 +# Prompt for a keystroke before exiting.
 +#​+pauseatend
 +
  
 +### Files
 +# Specify which files to lint
 +# Use "​+recurse"​ to enable recursion (disabled by default).
 +# To add a set of files, use "​+process FileName",​ "​+process Folder\Path\*.js",​
 +# or "​+process Folder\Path\*.htm"​.
 +#
 ++process jsl-test.js
 +</​code>​
javascript/lint.txt · 마지막으로 수정됨: 2012/08/01 16:39 저자 kwon37xi