ui - Tomato Soup https://www.wholetomato.com/blog Visual Assist Team Blog Sun, 22 Dec 2024 14:36:30 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 https://i0.wp.com/www.wholetomato.com/blog/wp-content/uploads/2020/05/cropped-wt-logo.jpg?fit=32%2C32&ssl=1 ui - Tomato Soup https://www.wholetomato.com/blog 32 32 227787260 Test Driven-Development and UI/UX Design: A Practical Guide [Webinar Recap] https://www.wholetomato.com/blog/2024/12/22/tdd-unit-testing-ui-guide/ https://www.wholetomato.com/blog/2024/12/22/tdd-unit-testing-ui-guide/#respond Sun, 22 Dec 2024 14:12:54 +0000 https://www.wholetomato.com/blog/?p=4029 Don’t you wish your code came with an undo button for every mistake? So do all developers who accidentally pushed a bug into production! But we got the next best thing: Unit testing. This webinar...

The post Test Driven-Development and UI/UX Design: A Practical Guide [Webinar Recap] first appeared on Tomato Soup.

]]>
Don’t you wish your code came with an undo button for every mistake? So do all developers who accidentally pushed a bug into production!

But we got the next best thing: Unit testing. This webinar will show you how to stop breaking your codebase (and your spirit) by writing tests that catch errors before they escape into the wild. Perfect for developers who know they should test but don’t know how—or why.

What You’ll Learn:

  • The differences between two schools of TDD and when to use them.
  • How to implement CI pipelines and automate your test execution.
  • Practical techniques for leveraging static analysis tools and code profiling.
  • Real-world case studies that highlight successful approaches to refactoring and performance optimization.

In this webinar, our experts shared their best practices for developing high-quality C++ code, offering valuable insights to apply in your projects.

This webinar features insights from experts in software design and development, covering practical applications and real-world scenarios to help you streamline your workflows.

This webinar has concluded. Scroll down to watch the replay and review the highlights.

Webinar Replay

Webinar Highlights

Introduction

0:19-1:35: About Nuno: product manager for Visual Assist, clean code enthusiast, contact info shared, alongside mission of Visual Assist and upcoming new version announcement.

Message and Story

1:40-5:12: Importance of programmers writing good quality software and Nuno’s experience with different software development approaches (design thinking, waterfall, agile).

Test-Driven Development Overview

5:12-8:10: Discovery of test-driven development (TDD) and its impact on software quality. Explanation of TDD and the Red-Green-Refactor cycle. Importance of small increments, immediate feedback, and other TDD benefits.

Practical Exercise Setup

8:17-10:09: Overview of the Mars Rover exercise, rules, and references.
10:09-11:00: Visual Studio 2022 setup for the Mars Rover project (source files and test project creation).

First Test Case

11:00-12:08: Writing the first test: Initial position at (0, 0), facing north.
12:08-13:11: Creating the Rover class and implementing execute() to return an empty string initially.
13:11-16:16: Making the test pass by returning the expected position and direction.

Second Test Case

16:16-18:15: Writing the second test: Rotating right from north to east.
18:15-20:09: Updating Rover to handle the “right rotation” command and making the test pass.

Refactoring and Patterns

20:09-20:59: Recognizing patterns in the test code and introducing Google Test fixtures for code reuse.
50:06-52:11: Introducing and implementing a current position variable. Writing and running tests to confirm functionality after the changes.
52:11-53:28: Extending functionality to the left method and replicating the test-driven approach used for the right method.
54:00-55:18: Cleaning up and optimizing the code after successful test results, ensuring all tests remain green.
56:00-56:48: Summary of the refactoring process and demonstration of the final Rover and Direction class setup.

QnA

[56:48–59:02]
Introduction to the Q&A session with Nuno Castro and Ian Barker. The discussion opens with strategies for writing tests for projects without existing tests. Suggestions include starting with end-to-end tests and gradually adding component-specific tests during future changes.

GUI Tools, A/B Testing, and Metrics

[59:02–1:03:07]
Overview of GUI testing tools like SmartBear’s TestComplete and their use in desktop and web testing. The discussion transitions into A/B testing, explaining its purpose and real-world examples (e.g., Coca-Cola product testing). The importance of metrics to gauge feature usage before redesign or development is also highlighted.

Agile Methodologies and Encouragement for TDD

[1:03:07–1:06:50]
Reflection on Agile methodologies, balancing speed with system stability, and evolving approaches such as Facebook’s shift from “move fast and break things” to prioritizing reliability. The session concludes with encouragement to adopt Test-Driven Development (TDD) and a nod to the value of unedited coding demos to showcase realistic problem-solving.

Self-Development, Testing, and TDD Approaches

[1:10:01–1:13:36]
Introduction to self-development as both a science and an art. Discussion includes testing strategies to ensure business logic isn’t broken, addressing overfitting in tests, and balancing test coverage with real-world solutions. User stories are highlighted as a foundation for design, followed by a comparison of the Chicago and London schools of TDD.

Design, User Experience, and Business Logic

[1:13:36–1:17:01]
Emphasis on designing user interfaces first and iterating on user experience challenges. The discussion incorporates Don Norman’s insight that user errors often indicate interface design issues. It concludes with balancing business logic with test coverage in TDD.

Closing

[1:17:01–1:18:00]
The importance of prioritizing timely application releases over perfectionism is discussed. The webinar ends with closing remarks, thanks to participants, replay information, and a final farewell.

The post Test Driven-Development and UI/UX Design: A Practical Guide [Webinar Recap] first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2024/12/22/tdd-unit-testing-ui-guide/feed/ 0 4029
Visual Assist 2024.7 release post https://www.wholetomato.com/blog/2024/10/01/visual-assist-2024-7-release-post/ https://www.wholetomato.com/blog/2024/10/01/visual-assist-2024-7-release-post/#respond Tue, 01 Oct 2024 16:53:41 +0000 https://www.wholetomato.com/blog/?p=3971 We are excited to announce the release of 2024.7 of Visual Assist! This update introduces several powerful features aimed at improving your coding efficiency and project navigation. Download the release now. Here’s a breakdown of...

The post Visual Assist 2024.7 release post first appeared on Tomato Soup.

]]>
We are excited to announce the release of 2024.7 of Visual Assist! This update introduces several powerful features aimed at improving your coding efficiency and project navigation. Download the release now.

Here’s a breakdown of what’s new in this version:

New Features:

1. Context-sensitive Naming in Quick Action and Refactoring menu items (Shift + Alt + Q)

The Quick Action and Refactoring menu is a powerful menu that shows different options depending on the context and the placement of the text caret. For instance, it changes depending on whether you are on a symbol, include directive, or whitespace—and with or without a selection.

In this release, the menu will now take into consideration other symbols and applicable features that will make naming much more intuitive and inclusive of more possible actions. This also marks the start of making some of our menus more ubiquitous. 

2. Improved Read and Write Reference Highlighting

This adds an option to disable the highlighting of references when it is not needed. This is to improve readability and reduce visual clutter.

Specifically, read and write references will now stop highlighting as soon as you move your mouse away from the reference. This keeps your workspace clean while maintaining the ability to easily locate references when needed.

Visual Assist’s highlighting.

3. Feature: Sort Methods in Source (Beta)

We’re excited to release the Sort Methods in Source feature as a beta version! This feature allows you to quickly organize and sort methods in your source files, making it easier to keepnavigate large codebases organised. We welcome your feedback as we refine this feature for future updates.

4. Feature: Promote Lambda to Method (Beta)

The Promote Lambda to Method refactoringfeature is now available in beta. This feature allows you to easily convert lambda functions into regular methods, helping to streamline your code structure and improve readability. 

It is particularly useful for instances where you would like to reuse the same function in other places in the code. This feature takes that lambda and promotes it to a method in the corresponding class for it. 

Test it out and let us know how we can improve it! The settings can be found under the refactorings menu under Extensions under VisualAssistX, or just right click while in a lambda.

5. VA Nav Bar Dropdown for Project Switching

Switching between projects has never been easier! The VA Navigation Bar now allows you to seamlessly switch between multiple projects within your solution. This improvement makes project navigation faster and more intuitive—especially when working in large, multi-project environments that may have distinct code undefined in other workspaces.

6. New reserved string for VA code snippets

VA’s code snippets will now have more reserved string keywords for finding specific parent folders. Reserved strings are keywords that automatically expand when a VA Snippet is invoked. A reserved string obtains its value from an IDE setting, project property, system setting, or surrounding code.

In this case, we added a reserved string for automatically inputting the directory to the Cmake parent folder.

Reserved strings are grouped by type, and can be inserted in the VA Snippet editor via context menu, toolbar button, or keyboard shortcut (Ctrl+I).

7. Option to Adjust Overwrite Behavior When Accepting a Completion

Set up overwriting behavior options Visual Assist Extensions Options ? Enhanced Listboxes.

You can now choose how Visual Assist handles suggestions from a listbox. For instance, when you’re typing in between a word, VA would suggest to complete what you are typing. 

There are different results depending on whether the symbol succeeding the caret is known. If it is not a known symbol, VA overwrites the entire text after the caret with the auto-complete suggestion.

In any case, you can now choose the behavior of overwriting by navigating to the Visual Assist Extensions Options ?  Enhanced Listboxes ? Overwrite text when accepting from a listbox.

 

Bug fixes and improvements:

  • Fixed error when renaming items in particular cases
  • Fixed Move implementation header file error when on first line
  • Fixed quick info menu not showing all options properly when enabled.

 

? Availability & Feedback

This release is available starting September 30  and can be downloaded via the Whole Tomato downloads page. As always, we encourage your feedback, especially on beta and alpha features, to help us continue improving and delivering the best experience for developers.

Thank you for your continued support and happy coding! If you have any questions or encounter any issues, feel free to reach out to our support team.

The post Visual Assist 2024.7 release post first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2024/10/01/visual-assist-2024-7-release-post/feed/ 0 3971