{"id":21409546,"url":"https://github.com/evangipson/developer-pro-tips","last_synced_at":"2026-04-13T05:39:06.413Z","repository":{"id":137210038,"uuid":"61315643","full_name":"evangipson/developer-pro-tips","owner":"evangipson","description":"A collection of rules to ensure success in your development career.","archived":false,"fork":false,"pushed_at":"2019-11-13T15:28:30.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T04:29:09.017Z","etag":null,"topics":["algorithms","c-sharp","conventions","css","development-career","ecmascript6","git","html5","javascript","language-conventions","vue"],"latest_commit_sha":null,"homepage":null,"language":null,"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/evangipson.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":"2016-06-16T18:13:01.000Z","updated_at":"2019-11-13T15:28:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"77afb95f-7537-4e91-b229-7f2220969276","html_url":"https://github.com/evangipson/developer-pro-tips","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evangipson%2Fdeveloper-pro-tips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evangipson%2Fdeveloper-pro-tips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evangipson%2Fdeveloper-pro-tips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evangipson%2Fdeveloper-pro-tips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evangipson","download_url":"https://codeload.github.com/evangipson/developer-pro-tips/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910370,"owners_count":20367537,"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","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":["algorithms","c-sharp","conventions","css","development-career","ecmascript6","git","html5","javascript","language-conventions","vue"],"created_at":"2024-11-22T17:27:03.433Z","updated_at":"2025-12-31T00:19:53.947Z","avatar_url":"https://github.com/evangipson.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Developer Pro-tips\nA collection of rules to ensure success in your development career, licensed under \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.\n- Understand the full scope\n  - If you are making a code change, you need to understand the full scope of that change (the full method, whatever the scope is).\n- Look up your project's and language's conventions\n  - Look up the naming conventions of the project you're working on and follow them. If there are none look up the language conventions.\n  - e.g. C# suggests private stuff gets camelCase and public stuff (things you can see outside of an object) gets PascalCase \n- Before trying to solve a problem, make sure it occurs.\n- DRY: don't repeat yourself\n  - don't duplicate code and if you must then comment clearly that you are doing so in both places.\n- Automate repetitive tasks\n  - Before doing something twice, think about if you have to do it a 3rd time (or more.) if so, automate it!\n- Null check\n  - Protect yourself against data you get from outside your program (like database calls, API calls) with a null check.\n  - Always think about where your data is coming from and what happens if you don't get that data.\n- Protect your users from evil\n  - Doubly protect yourself against data that comes in to your server from users. Always think about what happens if the user is malicious. Be familiar with the [top 10 threats from OWASP](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet).\n- Existing code is not holy\n  - Just because something is done that way doesn't make a case to do it that way.\n  - That said, follow convention if there's no good reason to break it\n  - If an existing convention is bad then form a plan to gradually improve it and discuss with your team.\n- You are not your code\n  - Code may feel like art when you are writing it, but it's a machine built to work. Solicit improvements from peers.\n- Your code is your teams' code\n  - And vice versa\n- Use source control well\n  - Look up its conventions too. Here are [10 commandments of good source control management](https://www.troyhunt.com/10-commandments-of-good-source-control/)\n- It's harder to read code than to write it\n  - Assume the next person to read your code is not you and that you have a sudden onset of amnesia.\n- Separate your concerns\n  - Write display logic in CSS, write behavior logic in JavaScript, write out DOM structure in HTML.\n  - You don't want to call in a JavaScript guy to change an image color, and you don't want to call a CSS guy to add and remove a class from an element conditionally.\n- Use for loops when adding and/or removing items from the collection or when the index needs special attention.\n  - Conversely, use foreach loops when you don't need the index and aren't adding or removing from the collection.\n- How to name things well\n  - Describe what the function or variable is doing in a sentence (give the \"long form\"). What is it actually doing, avoiding programming/generic words (e.g.; \"update\", \"toggle\", \"handle\"). After you have the long name, condense it into a few words and see what you can come up with.\n  - A non-programmer should be able to read your variables and function names and understand what they are doing.\n- Don't trust package managers to add things correctly to your solution\n  - Review each change like you would your own commit (very closely).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevangipson%2Fdeveloper-pro-tips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevangipson%2Fdeveloper-pro-tips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevangipson%2Fdeveloper-pro-tips/lists"}