Testing is the key to successful long-term development and is a critical component of the development process. Unit tests validate that your application works as expected, that there are no unexpected behaviors.
Apex provides a testing framework that allows you to write unit tests, run your tests, check test results, and have code coverage results.
One of the requirements from Salesforce to deploy Apex code to the production environment or upload package to the Salesforce AppExchange related with Ape[ code coverage. Unit tests must cover at least 75% of your Apex code, and those tests must pass.
Code coverage indicates how many executable lines of code in your classes and triggers have been exercised by test methods.
Code coverage serves as one indication of test effectiveness but doesn’t guarantee test effectiveness. The quality of the tests also matters, but you can use code coverage as a tool to assess whether you need to add more tests. While you need to meet minimum code coverage requirements for deploying or packaging your Apex code, code coverage shouldn’t be the only goal of your tests. Tests should assert your app’s behavior and ensure the quality of your code.
Day-to-day developer work related not only with writing new functionality but updating existing ones. When a developer tasked with adding a new feature to an existing application, the goal is to extend the functionality of that application with new behaviors. Extending software is the introduction of a new behavior by the addition of code. Some applications are flexible to this kind of change, whereas others may fight you tooth and nail!
Flexibility is how easily software can adapt to shifting requirements.
In an ideal extensible system, adding new behavior involves strictly adding new code without changing existing code. Adding new behavior to an extensible system means adding new classes, methods, functions, or data that encapsulate the new behavior. But because real systems are rarely ideal, you’ll still find yourself needing to make changes to existing code regularly.
One of the things that help developers write clean, well-structured, and easily-maintainable code is SOLID principles.
Everyone knows that it is so important to send notifications when important events occur. For example, alert an account owner if a new support case is logged while trying to close a deal. Or, send a notification for a unique workflow built entirely with custom objects. Previously, you could send only standard notifications for use cases predefined by Salesforce.
Custom notifications allow you to send important information to your users via push to mobile or desktop alerts. Now you can fully customize the notifications to inform users of record information, changes, and updates. Custom notifications will bring relevant information to your users at the right time!
Salesforce trying to optimize performance by caching components on the client-side. This is awesome for the end-users because page loads will faster. This is a lot less awesome for developers when developing lightning components because they may think that the code is wrong. Often they have to hit hard refresh a few times while you wait for the cache to clear.
Salesforce is known as CRM with a lot of Limits. Because Salesforce Apex runs in a multitenant environment, the Apex runtime engine strictly enforces limits so that runaway Apex code or processes don’t monopolize shared resources. If some Apex code exceeds a limit, the associated governor issues a runtime exception that cannot be handled.
Salesforce announced new tools for developers and admins that can help to innovate faster than ever by building scalable, modern apps through a combination of clicks and code without ever having to sacrifice user experience or crucial security measures.
The Classic Salesforce platform is designed to use the MVC pattern for developing applications and customizing existing functionality. The benefits of server rendering are obvious, but we often need more dynamic in the application. In this case, Rest Services will help us.