{"action":"created","issue":{"url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/19","labels_url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/19/comments","events_url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/19/events","html_url":"https://github.com/SophieKoonin/JavaDecaf/issues/19","id":112617926,"number":19,"title":"Restrictions on names","user":{"login":"sergutsan","id":1441098,"avatar_url":"https://avatars.githubusercontent.com/u/1441098?v=3","gravatar_id":"","url":"https://api.github.com/users/sergutsan","html_url":"https://github.com/sergutsan","followers_url":"https://api.github.com/users/sergutsan/followers","following_url":"https://api.github.com/users/sergutsan/following{/other_user}","gists_url":"https://api.github.com/users/sergutsan/gists{/gist_id}","starred_url":"https://api.github.com/users/sergutsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sergutsan/subscriptions","organizations_url":"https://api.github.com/users/sergutsan/orgs","repos_url":"https://api.github.com/users/sergutsan/repos","events_url":"https://api.github.com/users/sergutsan/events{/privacy}","received_events_url":"https://api.github.com/users/sergutsan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-21T15:40:09Z","updated_at":"2015-10-21T16:08:47Z","closed_at":null,"body":"At the moment, JavaDecaf restricts the choice of name for the main JavaDecaf program: it must start with a capital letter. \r\n\r\nThis seems to be a good idea, and I think it could be extended to all names in the code: \r\n\r\n* The program name must start with a capital letter\r\n* Class names must always start with a capital letter\r\n* Variable names must always start with a non-capital letter. \r\n* Method names must always start with a non-capital letter. \r\n* Neither class, method, nor variable names can start with an underscore (_)\r\n\r\nThe benefits of the first four points is encouraging good practice and common conventions in students since Day 1. \r\n\r\nThe benefit of the fifth point is that it prevents clashes with JavaDecaf´s internal variables, such as `__reader` (we had a clash with `input` the other day and the student was very confused and disappointed because their code \"was correct!\"). "},"comment":{"url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/comments/149947096","html_url":"https://github.com/SophieKoonin/JavaDecaf/issues/19#issuecomment-149947096","issue_url":"https://api.github.com/repos/SophieKoonin/JavaDecaf/issues/19","id":149947096,"user":{"login":"sergutsan","id":1441098,"avatar_url":"https://avatars.githubusercontent.com/u/1441098?v=3","gravatar_id":"","url":"https://api.github.com/users/sergutsan","html_url":"https://github.com/sergutsan","followers_url":"https://api.github.com/users/sergutsan/followers","following_url":"https://api.github.com/users/sergutsan/following{/other_user}","gists_url":"https://api.github.com/users/sergutsan/gists{/gist_id}","starred_url":"https://api.github.com/users/sergutsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sergutsan/subscriptions","organizations_url":"https://api.github.com/users/sergutsan/orgs","repos_url":"https://api.github.com/users/sergutsan/repos","events_url":"https://api.github.com/users/sergutsan/events{/privacy}","received_events_url":"https://api.github.com/users/sergutsan/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T16:08:47Z","updated_at":"2015-10-21T16:08:47Z","body":"Thanks!\r\n\r\nWill double check that because I keep telling students not to start method names with capital letters. \r\n\r\nWill also look into the underscores when I can. "}}