{"id":21598178,"url":"https://github.com/fahimahammed/software-development-lab-1","last_synced_at":"2025-09-12T18:47:51.571Z","repository":{"id":146736719,"uuid":"438758186","full_name":"fahimahammed/software-development-lab-1","owner":"fahimahammed","description":"This repository is made to practise or simulate git merge, git push, and other git commands in real life. First, a messy Java program was given. Each task has been completed in a separate branch and finally merged with the main.","archived":false,"fork":false,"pushed_at":"2021-12-15T21:01:46.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-29T17:49:35.303Z","etag":null,"topics":["java","sdl","software-development-lab-1"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fahimahammed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-15T20:05:42.000Z","updated_at":"2024-08-09T11:30:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"110b9a9d-6767-43e3-a6bc-f6794f42d728","html_url":"https://github.com/fahimahammed/software-development-lab-1","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fahimahammed/software-development-lab-1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fahimahammed%2Fsoftware-development-lab-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fahimahammed%2Fsoftware-development-lab-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fahimahammed%2Fsoftware-development-lab-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fahimahammed%2Fsoftware-development-lab-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fahimahammed","download_url":"https://codeload.github.com/fahimahammed/software-development-lab-1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fahimahammed%2Fsoftware-development-lab-1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274858439,"owners_count":25362957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","sdl","software-development-lab-1"],"created_at":"2024-11-24T18:11:33.374Z","updated_at":"2025-09-12T18:47:51.446Z","avatar_url":"https://github.com/fahimahammed.png","language":"Java","readme":"# Software Development Lab - 1\n\nThis repository is made to practise or simulate git merge, git push and other git commands in real life. First a messy Java program was given. Each task has been completed in seperate branch and finally merged with main.\n\n\n## Tasks : \n\n* Task#0\u003cbr\u003e\nCheck the output wheather it matches with the output given here. If your output doesen't match, please correct your program.\u003cbr\u003e\n* Task#1\u003cbr\u003e\nUpdate code style for better consistency. \u003cbr\u003e\n* Task#2\u003cbr\u003e\nApplication now terminates early if the number of arguments passed into it is wrong, fix it.\u003cbr\u003e\n* Task#3\u003cbr\u003e\nMakes improvements to variable names\u003cbr\u003e\n* Task#4\u003cbr\u003e\nRefactors duplicate file read and write logic into methods\u003cbr\u003e\n* Task#5.\u003cbr\u003e\nReplaces string literals with constants, storing those constants in a new class called Constants.java\u003cbr\u003e\n* Task#6.\u003cbr\u003e\nRemove Temporary variables\u003cbr\u003e\n* Task#7.\u003cbr\u003e\nEliminates the ‘done’ control-flow variable. Adds better response for search operation.\u003cbr\u003e\n* Task#8.\u003cbr\u003e\nSimplifies the logic behind the count operation\u003cbr\u003e\n* Task#9.\u003cbr\u003e\nAdds handling for case when user enters invalid arguments\u003cbr\u003e\n* Task#10.\u003cbr\u003e\nAdd more comments and makes more naming improvements. \u003cbr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\nYour should create git branch for every step with the name of the step, work on that particular step, commit the code with appropriate commit message and finally merge your branch to the master. For better understanding, write the commit message same as the task on each steps. And check every  time you change something, you didn't break anything by going through Run #1 to Run #6 and it matches the commit message.\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n**Run #1**: $```java StudenList a``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\nStudent1 \u003cbr\u003e\nStudent2 \u003cbr\u003e\nStudent3 \u003cbr\u003e\nStudent4 \u003cbr\u003e\nData Loaded.\u003cbr\u003e\n\n**Run #2**: $```java StudentList r``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\nStudent3 \u003cbr\u003e\nData Loaded. \u003cbr\u003e\n\n**Run #3**: $```java StudentList r``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\nStudent1 \u003cbr\u003e\nData Loaded. \u003cbr\u003e\n\n**Run #4**: $```java StudentList c``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\n2 word(s) found \u003cbr\u003e\nData Loaded. \u003cbr\u003e\n\n**Run #5**: $```java StudentList ?Student1``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\nWe found it! \u003cbr\u003e\nData Loaded. \u003cbr\u003e\n\n**Run #6**: $```java StudentList +Another``` \u003cbr\u003e\nLoading data ... \u003cbr\u003e\nData Loaded. \u003cbr\u003e\u003cbr\u003e\n\n**File Contents (After running)**\nStudent1, Student2, Student3, Student4 ,Another\nList last updated on 2021-12-12 2:10:58 PM\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffahimahammed%2Fsoftware-development-lab-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffahimahammed%2Fsoftware-development-lab-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffahimahammed%2Fsoftware-development-lab-1/lists"}