{"action":"created","issue":{"url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/60","repository_url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide","labels_url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/60/comments","events_url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/60/events","html_url":"https://github.com/wemake-services/wemake-python-styleguide/issues/60","id":345716790,"node_id":"MDU6SXNzdWUzNDU3MTY3OTA=","number":60,"title":"Roadmap","user":{"login":"sobolevn","id":4660275,"node_id":"MDQ6VXNlcjQ2NjAyNzU=","avatar_url":"https://avatars1.githubusercontent.com/u/4660275?v=4","gravatar_id":"","url":"https://api.github.com/users/sobolevn","html_url":"https://github.com/sobolevn","followers_url":"https://api.github.com/users/sobolevn/followers","following_url":"https://api.github.com/users/sobolevn/following{/other_user}","gists_url":"https://api.github.com/users/sobolevn/gists{/gist_id}","starred_url":"https://api.github.com/users/sobolevn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sobolevn/subscriptions","organizations_url":"https://api.github.com/users/sobolevn/orgs","repos_url":"https://api.github.com/users/sobolevn/repos","events_url":"https://api.github.com/users/sobolevn/events{/privacy}","received_events_url":"https://api.github.com/users/sobolevn/received_events","type":"User","site_admin":false},"labels":[{"id":862014856,"node_id":"MDU6TGFiZWw4NjIwMTQ4NTY=","url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/labels/wontfix","name":"wontfix","color":"ffffff","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-30T11:23:17Z","updated_at":"2018-07-30T11:39:57Z","closed_at":null,"author_association":"MEMBER","body":"# Roadmap\r\n\r\nIn this issue I would like to discuss the future of the project.\r\nAnd I invite to collaborate all contributors.\r\n@malinoff @proha @barsovichok @vergeev @mcproger @lk-geimfari \r\n\r\n## Current tasks\r\n\r\nI see several group of tasks to be completed before the project can be publicly released:\r\n1. Documentation\r\n2. New rules\r\n3. Testing, providing new examples, different usecases and testing strategies\r\n\r\nCurrently I feel like we should concentrate on writing new rules.\r\nBecause we can already use them and gain some productivity in return.\r\n\r\n### Documentation\r\n\r\nThe main issue to be solved here is reasoning. We need to write why you should write `A` and should not write `B`. \r\n\r\nWe also need examples, references, and refactoring guides.\r\n\r\n### Rule related tasks\r\n\r\nThere are several kind of tasks to be handled:\r\n1. `ast`-based rules\r\n2. `tokenize`-based rules\r\n\r\nWhile we already have several `ast`-based checkers implemented, there are currently no examples of 2 group rules. \r\n\r\nWe can not check for things like `u'abc'` with `ast`, we need to use `tokenize`.\r\n\r\n## Milestones\r\n\r\nI believe that setting a first `0.1.0` release milestone at somewhere near November is pretty realistic. \r\n\r\nBefore releasing `0.1.0` we need to be sure that we have:\r\n\r\n- [ ] error numbers that won't be changed (currently they change a lot)\r\n- [ ] rules that check classes for number of methods\r\n- [ ] complexity rules: branching and nesting\r\n- [ ] rules that check strings for `u`, `f`, and others\r\n- [ ] rules that check modules and functions for length\r\n- [ ] rules that check comments\r\n- [ ] `jones-complexity` integrated (I am still not able to publish the latest version)\r\n- [ ] documentation about each rule, why we have it, why our solution is the best one\r\n- [ ] documentation about how to use this plugin with other `flake8` plugins, what is the recommended list\r\n\r\nFor next releases we can plan to add other features like:\r\n- `django` support\r\n- `celery` support\r\n- `async` specific rules (I do not use `async` personally)"},"comment":{"url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/comments/408834706","html_url":"https://github.com/wemake-services/wemake-python-styleguide/issues/60#issuecomment-408834706","issue_url":"https://api.github.com/repos/wemake-services/wemake-python-styleguide/issues/60","id":408834706,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODgzNDcwNg==","user":{"login":"sobolevn","id":4660275,"node_id":"MDQ6VXNlcjQ2NjAyNzU=","avatar_url":"https://avatars1.githubusercontent.com/u/4660275?v=4","gravatar_id":"","url":"https://api.github.com/users/sobolevn","html_url":"https://github.com/sobolevn","followers_url":"https://api.github.com/users/sobolevn/followers","following_url":"https://api.github.com/users/sobolevn/following{/other_user}","gists_url":"https://api.github.com/users/sobolevn/gists{/gist_id}","starred_url":"https://api.github.com/users/sobolevn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sobolevn/subscriptions","organizations_url":"https://api.github.com/users/sobolevn/orgs","repos_url":"https://api.github.com/users/sobolevn/repos","events_url":"https://api.github.com/users/sobolevn/events{/privacy}","received_events_url":"https://api.github.com/users/sobolevn/received_events","type":"User","site_admin":false},"created_at":"2018-07-30T11:39:57Z","updated_at":"2018-07-30T11:39:57Z","author_association":"MEMBER","body":"There's an option to use https://github.com/PyCQA/baron instead of `tokenize` and `ast`.\r\nIt need some further investigation.\r\n\r\nI don't want to rewrite the existing rules, but maybe we can just use it sometimes.\r\nThings to keep in mind:\r\n- is it possible to easily integrate it to `flake8` plugin?\r\n- speed, I am pretty sure that `ast` and `tokenize` is faster than `baron`. We need to know how much faster\r\n- `baron` vs `redbaron` stuff"}}
{"actor":{"display_login":"sobolevn"}}