Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 2.35 KB

cr06_static-fields-and-methods-access.md

File metadata and controls

51 lines (36 loc) · 2.35 KB

Common Rule: Статические поля/методы указывать через класс

Правило применимо к Java. В Typescript это необходимость, без которой код не скомпилируется.

Первое соображение в унификации написания кода в независимости от языка. В Typescript указание класса для получения static поля или вызова static метода является обязательным требованием (речь про работу внутри этого же класса). В Java же static поля и static методы внутри класса доступны напрямую без необходимости указывать класс. Плюс есть возможность статических импортов из других классов, что тоже позволяет использовать static поля/методы без указания класса. Соответственно взяв за правило, что класс нужно указывать всегда, переключения между языками упрощается.

Второе соображение в наглядности при проведении Code Review. В IDEA static поля и static методы подсвечиваются особым цветом, и их можно зрительно отличить. Но когда смотришь код в Битбакете, то там нет таких подсветок, и явное указание, что используется static поле или static метод через указание класса, упрощает понимание кода.

Пример Java

public class SomeClass {
    //region Constants
    
    /**
     * ...
     */
    private static final int VALUE = 1;
    
    //endregion
    ...
    //region Public static
    
    /**
     * ...
     *
     * @return ...
     */
    public static int someMethod() {
    
        return (SomeClass.VALUE * 2);
    }
    
    //endregion
    //region Public
    
    /**
     * ...
     *
     * @return ...
     */
    public int anotherMethod() {
    
        return (SomeClass.someMethod() * 2);
    }
    
    //endregion
}