I often see code a function defined without visibility keywords. e.g:

```
class Foo() {
  function bar() {
    // ...
  }
}

```

Is it a shorthand of `public` function? Is it a good practice to omit it?

```
class Foo() {
  public function bar() {
    //..
  }
}

```