{"action":"opened","issue":{"url":"https://api.github.com/repos/videlalvaro/php-amqplib/issues/251","labels_url":"https://api.github.com/repos/videlalvaro/php-amqplib/issues/251/labels{/name}","comments_url":"https://api.github.com/repos/videlalvaro/php-amqplib/issues/251/comments","events_url":"https://api.github.com/repos/videlalvaro/php-amqplib/issues/251/events","html_url":"https://github.com/videlalvaro/php-amqplib/issues/251","id":59613897,"number":251,"title":"Use interfaces and full docblocks","user":{"login":"bartfeenstra","id":376735,"avatar_url":"https://avatars.githubusercontent.com/u/376735?v=3","gravatar_id":"","url":"https://api.github.com/users/bartfeenstra","html_url":"https://github.com/bartfeenstra","followers_url":"https://api.github.com/users/bartfeenstra/followers","following_url":"https://api.github.com/users/bartfeenstra/following{/other_user}","gists_url":"https://api.github.com/users/bartfeenstra/gists{/gist_id}","starred_url":"https://api.github.com/users/bartfeenstra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bartfeenstra/subscriptions","organizations_url":"https://api.github.com/users/bartfeenstra/orgs","repos_url":"https://api.github.com/users/bartfeenstra/repos","events_url":"https://api.github.com/users/bartfeenstra/events{/privacy}","received_events_url":"https://api.github.com/users/bartfeenstra/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-03T09:11:02Z","updated_at":"2015-03-03T09:11:02Z","closed_at":null,"body":"The current code base is closely coupled to specific implementation classes that do not implement generic interfaces or even extend base classes. This prevent proper type hinting which, combined with the lack of (detailed) parameter and return value type hints, causes debugging to be a major pain as the code does not explain itself and the lack of type hints prevents early failures.\r\n\r\nPlease adopt a focus on implementing interfaces, and on providing type hints and full docblocks for every method. This will improve testability, pluggability, coding speed and quality, and reduce debugging frustrations."}}