{"action":"opened","issue":{"url":"https://api.github.com/repos/dwongster/Codecademy_Murder_Mystery/issues/1","repository_url":"https://api.github.com/repos/dwongster/Codecademy_Murder_Mystery","labels_url":"https://api.github.com/repos/dwongster/Codecademy_Murder_Mystery/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/dwongster/Codecademy_Murder_Mystery/issues/1/comments","events_url":"https://api.github.com/repos/dwongster/Codecademy_Murder_Mystery/issues/1/events","html_url":"https://github.com/dwongster/Codecademy_Murder_Mystery/issues/1","id":379484267,"node_id":"MDU6SXNzdWUzNzk0ODQyNjc=","number":1,"title":"Summary","user":{"login":"siyuan126","id":10052104,"node_id":"MDQ6VXNlcjEwMDUyMTA0","avatar_url":"https://avatars1.githubusercontent.com/u/10052104?v=4","gravatar_id":"","url":"https://api.github.com/users/siyuan126","html_url":"https://github.com/siyuan126","followers_url":"https://api.github.com/users/siyuan126/followers","following_url":"https://api.github.com/users/siyuan126/following{/other_user}","gists_url":"https://api.github.com/users/siyuan126/gists{/gist_id}","starred_url":"https://api.github.com/users/siyuan126/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siyuan126/subscriptions","organizations_url":"https://api.github.com/users/siyuan126/orgs","repos_url":"https://api.github.com/users/siyuan126/repos","events_url":"https://api.github.com/users/siyuan126/events{/privacy}","received_events_url":"https://api.github.com/users/siyuan126/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-11T02:59:29Z","updated_at":"2018-11-11T02:59:29Z","closed_at":null,"author_association":"NONE","body":"**Criteria 1: Valid Python Code**\r\nScore Level: 3 (meets expectations)\r\nComment(s): Code included runs without any errors. Great job adding checkpoint after defining your function! It not only helps me to valid your code, but also helps you to debug the code by yourself. Since it is used to valid your code, a simple input should be enough. You use variable murder note to test function get_average_sentence_length, it is too long and very hard to see if the output is correct or not. A simple test such as get_average_sentence_length(\"hi, my name is dwongster!\") would be a better choice since we know the correct output should be 5. \r\n\r\n**Criteria 2: Implementation of Project Requirements**\r\nScore Level: 4 Meets expectations)\r\nComment(s): Code produces the suite of functions and classes required of it and calls them in an appropriate order. Great job calling all the functions first before you call the class TextSample.\r\n\r\n**Criteria 3: Software Architecture**\r\nScore Level: 4 (exceeds expectations)\r\nComment(s): Code is separated into distinct classes and functions each which are invoked for their own purposes.\r\n\r\n**Criteria 4: Uses Python Language Features**\r\nScore Level: 3 (Meets expectations)\r\nComment(s): Code uses language features appropriately most of the time. Here are some things I would recommend to change. 1. please use triple quotes around multi-line strings in the first cell. 2. function replace_ex_q_in_paragraph and split_paragraph_on_period are not necessary, please merge them into the function get_average_sentence_length for simplicity. 3. for function prepare_text, .replace(punctuation, \"\") shows up repeatedly, this suggests a better solution like  \"punctuation    = \".,!?\" no_punctuation = ''.join(letter for letter in lower_text if letter not in punctuation)\" should be considered to reduce repetitiveness. \r\n\r\n**Criteria 5: Produces Accurate Output**\r\nScore Level: 4 (Exceeds expectations)\r\nComment(s): Code output is accurate.\r\n\r\n**Overall Score: 18/20**\r\nOverall great job! I would recommend to review your code again to see if you can reduce code repetitiveness and use less code in a same function. "}}
{"actor":{"display_login":"siyuan126"}}