We've all heard about Test-driven Development, but what about Preview-driven Development? The basics of PDD 📸 • Previews can act as tests to ensure quality • Previews can be mini-apps to launch features in controlled environments • Emerge Tools can completely automate the testing of Previews Check out this awesome post on Preview-drive Development by Ryan Brooks & Rikin Marfatia: https://lnkd.in/gQJDBdRc
Josh Cohenzadeh’s Post
More Relevant Posts
-
Our latest blog explores the importance of code reviews, "Shifting Left" to catch issues earlier, and leveraging tools like automated testing, linting tools, pre-commit hooks, and Continuous Integration (CI) for better software quality. 🌟 You will read: - The importance of integrating code reviews early in the development cycle - How automated testing and linting tools can improve code quality - The role of pre-commit hooks in maintaining coding standards - Using CI to automate and enhance the review process ➡️ Read full blog post for actionable insights https://lnkd.in/eYUvTFkY #FlutterDev #Flutter
Improving Code Reviews - Tools and Practices for Dart and Flutter Projects | DCM - Code Quality Tool for Flutter Developers
dcm.dev
To view or add a comment, sign in
-
18 Tools for Software Engineers You Must Know 1. 💻 VSCode: Versatile and most popular code editor. 2. 🌐 Git: It is a distributed version control system that streamlines the development process. 3. 🐳 Docker: For development and deployment of apps inside portable containers. 4. 🔗 Linear: Comprehensive project management for agile software development. 5. 💬 Slack: Communication platform that integrates with many development tools. 6. 📬 Postman: A powerful API client for testing, documenting, and sharing APIs. 7. 👷 Jenkins: Automates software development process like builds, testing, and deployment. 8. 🎨 Figma: For developers to understand UI designs and collaborate with designers. 9. 🖥️ Terminal: Essential for script execution, file system navigation, and server management. 10. 🧩 Stack Overflow: A vast community and resource for solving coding problems. 11. 🧠 IntelliJ IDEA: A robust integrated development environment (IDE). 12. 📓 Notion: For creating documentation, project plans, and notes. 13. 🤖 GitHub Copilot: AI-powered code completion tool that helps you write code faster. 14. 🤝 ChatGPT: AI-powered chatbot that can assist with a wide range of tasks. 15. 📊 Drawio: A free, web-based tool for creating diagrams and flowcharts. 16. ⚙️ Kubernetes: Container orchestration platform. 17. 🔄 GitHub: Web-based version control and collaboration platform for code. 18. 📘 Amigoscode Blog: Curated courses & blogs for software engineers. #VSCode #Git #Docker #Linear #Slack #Postman #Jenkins #GitHub
To view or add a comment, sign in
-
𝐋𝐞𝐯𝐞𝐥 𝐔𝐩 𝐘𝐨𝐮𝐫 𝐂𝐨𝐝𝐢𝐧𝐠: 𝐒𝐢𝐦𝐩𝐥𝐞 𝐓𝐢𝐩𝐬 𝐟𝐨𝐫 𝐁𝐞𝐭𝐭𝐞𝐫 𝐂𝐨𝐝𝐢𝐧𝐠 𝐚𝐧𝐝 𝐖𝐨𝐫𝐤𝐟𝐥𝐨𝐰𝐬 Whether you're just starting or already experienced, optimizing your code and workflow is key to getting better. In this guide, we'll share easy tips to make your code cleaner, easier to manage, and your work more efficient. From clear variable names to using tools like Git and writing tests, these tricks will help you become a better coder. 1. Use Descriptive Variable Names: Choose meaningful names for variables, functions, and classes. This makes your code easier to understand for you and others who may read it later. 2. Break Code into Smaller Functions: Divide your code into smaller, more manageable functions. This improves readability and makes it easier to debug and maintain. 3. Comment Your Code: Add comments to explain complex sections of code or your thought process. Comments can help others understand your code more easily. 4. Avoid Repetitive Code: Look for patterns in your code and refactor repetitive sections into reusable functions or modules. This reduces redundancy and makes your code more efficient. 5. Use Version Control: Utilize version control systems like Git to track changes to your codebase. This allows you to collaborate with others, revert to previous versions if needed, and manage code updates more effectively. 6. Write Unit Tests: Create automated tests to verify that individual components of your code work as expected. This helps catch bugs early and ensures code reliability. 7. Optimize Loops and Conditionals: Minimize the number of iterations in loops and simplify conditional statements whenever possible. This improves the performance of your code and reduces execution time. 8. Profile Your Code: Use profiling tools to identify bottlenecks and optimize performance-critical sections of your code. This helps you pinpoint areas for improvement and make informed optimization decisions. 9. Update Dependencies Regularly: Keep your dependencies up-to-date to benefit from bug fixes, security patches, and performance improvements. However, be cautious of breaking changes when updating dependencies. 10. Document Your Workflow: Document your development workflow, including coding standards, project structure, and deployment procedures. This ensures consistency and helps onboard new team members more efficiently. By incorporating these tips and tricks into your development process, you can optimize your code, streamline your workflow, and become a more efficient and effective developer. #TechEveryWhere #Software #coding #softwaredevelopment #codingtips
To view or add a comment, sign in
-
"You aren't gonna need it" (YAGNI) is a principle that arose from extreme programming (XP) that states a programmer should not add functionality until deemed necessary. Other forms of the phrase include "You aren't going to need it" (YAGTNI) and "You ain't gonna need it". Ron Jeffries, a co-founder of XP, explained the philosophy: "Always implement things when you actually need them, never when you just foresee that you [will] need them." John Carmack wrote, "It is hard for less experienced developers to appreciate how rarely architecting for future requirements/applications turns out net-positive." #agile #xp #extremeprogramming https://lnkd.in/ezPv4CMm
You aren't gonna need it - Wikipedia
en.wikipedia.org
To view or add a comment, sign in
-
This has incredible potential as a dev tool, but what interests me most is the built-in traceability... Connecting ideation to PRs is a slow and manual process. Devs are responsible for manually tying a code change to it's conception in issue tracking systems, which is error prone and not useful unless they follow strict standards. Do I put the ticket # in the commit or the PR message? Do I use the story or the sub-task? All of this would be fixed by integrating issue tracking into the IDE with a little bit of LLM help. Developers can jump right into solving the problem instead of managing traceability.
GitHub Copilot Workspace: Welcome to the Copilot-native developer environment
https://github.blog
To view or add a comment, sign in
-
🔄 Shift-Left Testing: Catching Bugs Early 🔄 The concept of Shift-Left Testing is gaining traction, emphasizing early testing in the development lifecycle to catch issues sooner and reduce fixing costs. Here’s why it’s crucial: ✅ Early Detection: Identifying bugs early can save significant time and cost in the development process. 🔍 Improved Quality: Continuous feedback ensures higher code quality and more reliable software. 🚀 Faster Time-to-Market: Early testing helps streamline the development process, leading to quicker releases. 💡 Better Collaboration: Encourages collaboration between developers, testers, and other stakeholders from the start. Are you incorporating Shift-Left Testing in your projects? Share your experiences and best practices! #ShiftLeftTesting #QualityAssurance #SoftwareTesting #DevOps #EarlyTesting #Efficiency #TeamMacrosoft #Macrosoft #CEO #gnshah https://lnkd.in/gSFfpwMG
Home
https://www.macrosoftinc.com
To view or add a comment, sign in
-
We work programming, between codes, PCs and enigmas... However, we are not robots 🤖 Sometimes we may feel discouraged or directionless. But don't despair! Always keep in mind that at Checkbox, we accompany each other in the good times and those when we need to slow down 💪 #somoscheckbox #software #softwaredevelopment #develompent #desarrollo #softwarecompany #frontend #backend #tester #testing #dev #uxui #devops #projects #agile #agileteams #projectmanagement
To view or add a comment, sign in
-
🧹 Clean Code: Beyond Just "Looking Pretty" After reviewing thousands of PRs and maintaining legacy codebases, here's what actually matters... The Impact 📊 - 50% faster bug fixes - 40% quicker onboarding - 30% less technical debt - 20% reduced deployment issues Key Principles & Examples 🎯 1. Naming Conventions ⚡ Bad vs Good: // Bad ❌ const d = new Date() const x = users.filter(u => u.a > 18) // Good ✅ const currentDate = new Date() const adultUsers = users.filter(user => user.age > 18) 2. Function Design 🎨 Rules That Work: - Single responsibility - Maximum 20 lines - 3 parameters limit - Early returns - Clear error handling 3. Code Structure 🛠️ Essential Practices: - Consistent formatting - Proper indentation - Logical grouping - Clear imports - Smart comments 4. Real-World Examples 📚 Before vs After: // Before ❌ function process(d, t) { let r = []; for(let i=0; i<d.length; i++) { if(d[i].t === t) r.push(d[i]); } return r; } // After ✅ function filterItemsByType(items, type) { return items.filter(item => item.type === type); } The Results 📈 - Faster code reviews - Easier maintenance - Better team collaboration - Reduced bugs - Happy developers Pro Tips for Clean Code 💡 - Use meaningful names - Keep functions pure - Write self-documenting code - Follow team conventions - Review your own code first Questions for Developers 🤔 - What's your non-negotiable clean code rule? - How do you handle legacy code cleanup? - Which clean code principle improved your work most? Want more deep dives into specific clean code patterns? Let's discuss! 🚀 Share your clean code journey below! 👇 #CleanCode #Programming #SoftwareDevelopment #CodingBestPractices #WebDev
To view or add a comment, sign in
-
Nowadays I prefer having a Trunk-based development branching model over Git-flow here is why and when you should consider it: The first rule of Trunk-based development is : Always have your main branch is a releasable state. This implies: - Good automated test coverage. - Short lived branches, which results in less likely merge conflicts and faster code review. - Feature toggles to show/hide specific functionalities. (Along other practices like branch by abstraction that can also aide in this regards) - A lot more DISCIPLINE. Unlike Git-flow, TBD doesn’t rely on long-lived branches rather focuses on a single main trunk. Which removes a lot of the overhead and makes it easier to track the changes. - There is a mindset difference between what a feature-branch is, in Git-flow it will most likely be related to a user story, hence it will include more tasks and make it’s lifespan longer. In TBD you will most likely create a branch for each task of the user story. - Also if you are just starting up or need to iterate quickly and pivot your product having multiple branches, pull requests bla bla bla can and will reduce the speed of your team. ✅ TLDR: the difference between the two of them is how you are going to keep apart the work in progress. Git-flow will use feature branches to do that. TBD will use feature-toggles, branch by abstraction and other coding practices and not rely so much on the version control. ✅ TBD is less verbose and can lead to faster and more reliable releases but it will require much more discipline and proper work processes from you and your team. So if you can manage that it will work wonders on your delivery speed and quality. ♻️ Remember to share with your network so more people cloud share their insights. Subscribe here →https://lnkd.in/daKaR3SD
To view or add a comment, sign in
-
Looking to improve your team's code review process? Have you tried implementing continuous, non-blocking code reviews? In this blog post, we explain what they are and show you how your team can use Codacy to remove distractions and bottlenecks from your code review process. https://lnkd.in/dVkJnUVR #codereviews #softwaredevelopment #pullrequests #codingtricks #codingbestpractices
How to Perform Continuous, Non-Blocking Code Reviews
blog.codacy.com
To view or add a comment, sign in