{"action":"created","issue":{"url":"https://api.github.com/repos/javaslang/javaslang/issues/1280","repository_url":"https://api.github.com/repos/javaslang/javaslang","labels_url":"https://api.github.com/repos/javaslang/javaslang/issues/1280/labels{/name}","comments_url":"https://api.github.com/repos/javaslang/javaslang/issues/1280/comments","events_url":"https://api.github.com/repos/javaslang/javaslang/issues/1280/events","html_url":"https://github.com/javaslang/javaslang/issues/1280","id":148660218,"number":1280,"title":"Unify code style and apply it to the whole codebase","user":{"login":"paplorinc","id":1841944,"avatar_url":"https://avatars.githubusercontent.com/u/1841944?v=3","gravatar_id":"","url":"https://api.github.com/users/paplorinc","html_url":"https://github.com/paplorinc","followers_url":"https://api.github.com/users/paplorinc/followers","following_url":"https://api.github.com/users/paplorinc/following{/other_user}","gists_url":"https://api.github.com/users/paplorinc/gists{/gist_id}","starred_url":"https://api.github.com/users/paplorinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paplorinc/subscriptions","organizations_url":"https://api.github.com/users/paplorinc/orgs","repos_url":"https://api.github.com/users/paplorinc/repos","events_url":"https://api.github.com/users/paplorinc/events{/privacy}","received_events_url":"https://api.github.com/users/paplorinc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/javaslang/javaslang/labels/%E2%AD%90","name":"⭐","color":"FFFFFF"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/javaslang/javaslang/milestones/20","html_url":"https://github.com/javaslang/javaslang/milestones/2.1.0","labels_url":"https://api.github.com/repos/javaslang/javaslang/milestones/20/labels","id":1294243,"number":20,"title":"2.1.0","description":"Boost up collection performance","creator":{"login":"danieldietrich","id":743833,"avatar_url":"https://avatars.githubusercontent.com/u/743833?v=3","gravatar_id":"","url":"https://api.github.com/users/danieldietrich","html_url":"https://github.com/danieldietrich","followers_url":"https://api.github.com/users/danieldietrich/followers","following_url":"https://api.github.com/users/danieldietrich/following{/other_user}","gists_url":"https://api.github.com/users/danieldietrich/gists{/gist_id}","starred_url":"https://api.github.com/users/danieldietrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danieldietrich/subscriptions","organizations_url":"https://api.github.com/users/danieldietrich/orgs","repos_url":"https://api.github.com/users/danieldietrich/repos","events_url":"https://api.github.com/users/danieldietrich/events{/privacy}","received_events_url":"https://api.github.com/users/danieldietrich/received_events","type":"User","site_admin":false},"open_issues":42,"closed_issues":29,"state":"open","created_at":"2015-09-07T18:46:28Z","updated_at":"2016-04-15T21:03:15Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2016-04-15T13:24:23Z","updated_at":"2016-04-16T08:14:06Z","closed_at":null,"body":"`Idea` (and maybe even `Eclipse` or `EditorConfig`) code style should probably be updated to explicitly define the settings in the latest of the `IDE`s.\r\nSome of the styles can be specified via `Idea inspections`) (e.g. final variable without the `final` keyword) and some can even be defined with `structural search and replace`.\r\n\r\nIt should also be applied to the whole codebase for consistency (and to reduce unrelated changes in case of `PR`s).\r\n\r\nThese include - but are not limited to:\r\n* force braces for `if`/`while`/`for` etc?\r\n* `<p`> for empty lines in `JavaDoc`?\r\n* align parameters in `JavaDoc`?\r\n* `final` for local variables\r\n* sort imports and use `*` for every case when more than one import is used from a package\r\n* public non-test method without `JavaDoc`\r\n* mutually exclusive `if`s without the `else` keyword\r\n* nested ternary operators\r\netc.\r\n\r\nMaybe we could borrow some of this from other `OS` projects?"},"comment":{"url":"https://api.github.com/repos/javaslang/javaslang/issues/comments/210762674","html_url":"https://github.com/javaslang/javaslang/issues/1280#issuecomment-210762674","issue_url":"https://api.github.com/repos/javaslang/javaslang/issues/1280","id":210762674,"user":{"login":"danieldietrich","id":743833,"avatar_url":"https://avatars.githubusercontent.com/u/743833?v=3","gravatar_id":"","url":"https://api.github.com/users/danieldietrich","html_url":"https://github.com/danieldietrich","followers_url":"https://api.github.com/users/danieldietrich/followers","following_url":"https://api.github.com/users/danieldietrich/following{/other_user}","gists_url":"https://api.github.com/users/danieldietrich/gists{/gist_id}","starred_url":"https://api.github.com/users/danieldietrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danieldietrich/subscriptions","organizations_url":"https://api.github.com/users/danieldietrich/orgs","repos_url":"https://api.github.com/users/danieldietrich/repos","events_url":"https://api.github.com/users/danieldietrich/events{/privacy}","received_events_url":"https://api.github.com/users/danieldietrich/received_events","type":"User","site_admin":false},"created_at":"2016-04-16T08:14:06Z","updated_at":"2016-04-16T08:14:06Z","body":"However, the whole checkstyle & formatter infrastructure + code quality measure based on formatting rules is contra-productive - at least in the projects at $work. It hinders the team of being productive and focusing on the real work.\r\n\r\nConcise and correct code + a great test coverage are the key for a healthy code base. We should primarily focus on that.\r\n\r\nI want to keep things as simple as possible by having IntelliJ IDEA as main IDE for contributing to Javaslang. We need a well-defined formatter here.\r\n\r\nThis is how I see codestyle rules in real world development (as distinction of code covered by style-checker (left) and real world programming (right)):\r\n\r\n```\r\n[pain in the ass [helpful] not covered]\r\n```"}}