{"action":"created","issue":{"url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/48","repository_url":"https://api.github.com/repos/MobleyLab/alchemical-analysis","labels_url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/48/comments","events_url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/48/events","html_url":"https://github.com/MobleyLab/alchemical-analysis/issues/48","id":121928462,"number":48,"title":"General suggestions for code cleanup/improvements","user":{"login":"halx","id":8247898,"avatar_url":"https://avatars.githubusercontent.com/u/8247898?v=3","gravatar_id":"","url":"https://api.github.com/users/halx","html_url":"https://github.com/halx","followers_url":"https://api.github.com/users/halx/followers","following_url":"https://api.github.com/users/halx/following{/other_user}","gists_url":"https://api.github.com/users/halx/gists{/gist_id}","starred_url":"https://api.github.com/users/halx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halx/subscriptions","organizations_url":"https://api.github.com/users/halx/orgs","repos_url":"https://api.github.com/users/halx/repos","events_url":"https://api.github.com/users/halx/events{/privacy}","received_events_url":"https://api.github.com/users/halx/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2015-12-13T16:27:13Z","updated_at":"2016-06-15T21:37:34Z","closed_at":null,"body":"There is currently a lot of cruft growing in the code which is basically down to design choices.\r\n\r\nHere some suggestions:\r\nThe parsers should be designed in a \"polymorphic\" fashion such that the main code does not need to know anything about the individual parser codes.  This implies that a clear interface and a specification must be designed to define what data is passed in and what is passed out and in what form.  It is the responsibility of the parser code to signal back what it can and cannot do.  E.g., as it stands now, dhdlt should be None if MD code can't do TI or u_klt should be None if it *BAR analysis can't be done.  Energies should be converted to a \"canonical\" form or it should be signalled back to the main code what the units are.  This will relieve the main code maintainer to do code-specific clean-up operations.\r\n\r\nOptparse should be replaced with argparse.\r\n\r\nThe globals need to go as this is really bad programming style.  The problem with this is that all these variables are accessible throughout all of the module which mean that they can be modified anywhere.  This can create hard to track down bugs (all you need is a second person messing around there...)."},"comment":{"url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/comments/226327847","html_url":"https://github.com/MobleyLab/alchemical-analysis/issues/48#issuecomment-226327847","issue_url":"https://api.github.com/repos/MobleyLab/alchemical-analysis/issues/48","id":226327847,"user":{"login":"davidlmobley","id":7132257,"avatar_url":"https://avatars.githubusercontent.com/u/7132257?v=3","gravatar_id":"","url":"https://api.github.com/users/davidlmobley","html_url":"https://github.com/davidlmobley","followers_url":"https://api.github.com/users/davidlmobley/followers","following_url":"https://api.github.com/users/davidlmobley/following{/other_user}","gists_url":"https://api.github.com/users/davidlmobley/gists{/gist_id}","starred_url":"https://api.github.com/users/davidlmobley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidlmobley/subscriptions","organizations_url":"https://api.github.com/users/davidlmobley/orgs","repos_url":"https://api.github.com/users/davidlmobley/repos","events_url":"https://api.github.com/users/davidlmobley/events{/privacy}","received_events_url":"https://api.github.com/users/davidlmobley/received_events","type":"User","site_admin":false},"created_at":"2016-06-15T21:37:34Z","updated_at":"2016-06-15T21:37:34Z","body":"@dotsdl - I'm very on board with major changes; basically there's a ton that needs to be done along those lines and unfortunately I haven't had anyone in the group who is actively doing organization/improvements/maintenance right now (though @limn1 will probably be getting involved). @halx has done a lot that we didn't get to review/discuss yet. Perhaps a call would be warranted? \r\n\r\n> Nobody has had the chance to review it yet and thus hasn't been merged yet\r\n\r\nElaborating - I've had a bit of a look but we haven't really tested much yet, and it raises larger architecture issues/refactoring issues that I haven't been able to think through. \r\n\r\nMaybe we should do a separate issue to think through the best ways to do this. Or we could schedule a call. Interested in being involved? @halx , are you still thinking about this and interested in being involved?\r\n\r\nMy group doesn't have enough real \"code design\" experience, I think, yet, so I need to involve outside expertise. The first version of this that we \"released\" was way too much done just by one student who didn't have the needed expertise.\r\n\r\n@mrshirts has also mentioned that he's interested in being more involved going forward. "}}
{"actor":{"display_login":"davidlmobley"}}