사용자 도구

사이트 도구


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