Insights & Code Snippets from my latest Sprint ft. CSS, Writing Better & More

Working with CSS. Some tips for improving your writing. How to code faster? My experience with Jetbrains Fleet. Another Selenium error. #coding #programming #writing #debugging #fleet #jetbrains #jetbrainsfleet

Insights & Code Snippets from my latest Sprint ft. CSS, Writing Better & More
Photo by Lucas Hoang / Unsplash

Working with CSS

When adding styles to an element, I often prefer only specifying the class or at most the Id instead of adding the element tag.

This enables me to switch elements as needed without a big breaking change.

Consider the example below:

.list {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
li.list {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }

Now if I change my li to div, I also need to change it in the styles. This can become cumbersome if, during initial prototyping, I want to move fast.

Obviously, the margin and padding might change but my styling itself otherwise remains intact.


Some tips to improve your writing

I'm currently reading an exceptional book on Marketing namely You, Inc.: The Art of Selling Yourself [1].

Here are some of the writing tips shared in it:

Revise every memo. Then revise it again. Read it aloud and ask, “How can this be said more succinctly?” Brevity is power. Read it aloud; revise it again.
At least half of every document is clear. The problem? The other half.
Read everything you write aloud. Your ear will pick up the mistakes that your eyes missed. Your ear will read the document the way your recipient hears it, too.
Your ears, being musical, also will hear awkward rhythms. Smooth those out and your copy will flow for the reader. The reader will read more easily, enjoy the ride, and appreciate the person who provided it. After you write something, be sure to hear it.

Write.
Reduce by half when editing.
Listen to words.


How to code faster?

Ottawa road in the evening
Photo by Marc-Olivier Jodoin / Unsplash

Here's one thing that can drastically improve your coding speed without affecting quality:

Try to reduce the response time or feedback loop when you're coding.

For example, let's say you change a variable in a project. You then need to run a pipeline to see the changes, which takes time.

Any process that consumes time will invariantly decrease your concentration and therefore your productivity. You will also be zapped out of Flow more often than you want.

Another well-known example for Web Developers previously - was when you made changes in your code - you had to manually restart the server which often took time.

Therefore, instead of working harder for longer hours, a better idea is to constantly look for ways to minimise the time even if it appears you initially don't have much hand on the build system.

Here are ways I try to achieve this outcome:

  • mock log-in process and replace it with a test user
  • run one single test at a time on my local machine rather than on the cloud which takes time e.g. on BrowserStack
  • write the unit tests for a feature and validate the functionality here itself
  • modify JSON response by adding data for testing different scenarios rather than looking for users with the respective data sets and access rights    

Jetbrains Fleet

Jetbrains Fleet is a newly redesigned multi-purpose IDE from scratch using IntelliJ code processing engine.

The advantages of using it:

  • fast and lightweight text editor
  • transform to full fledge IDE in Smart Mode
  • code completion
  • navigation
  • refactoring
  • quick fixes on the fly
  • language inclusive

Why use it?

  • free for the time being but still the beta
  • multiplatform: macOS, Windows or Linux
  • integrated Git features, terminal and debugging capabilities

My Experience

I'm professionally a full stack Angular ASP.NET Core Web App developer.

When I attempt to load the full project, the IDE feels sluggish. Nevertheless, if I only load the Angular ClientApp folder, the tool is far more responsive.

Smart Mode for C# doesn't work well as ReSharper download service never fully completes. There's always an error.

For C# development, right now, Visual Studio and Rider are way better solutions.

I found the support for TypeScript to be surprisingly good esp. with the references available which only appear if you select the "Find All References" option.

The built-in ESLint support is a welcome addition.

Font rendering is excellent but the default theme selection is horrible for my eyes, particularly the purple one. Fortunately, there's a custom Darcula theme you can add. (you need to add it manually though)

My biggest deal breaker when working on actual projects is the lack of expanding or collapsing the codes.

My conclusion so far:

  • I remember using VSCode beta around 2015
  • remember using VSCode beta in 2015 whereby duplicating a line wasn't a thing
  • similarly, right now, Fleet is still in public preview lacking several important features
  • I can't really use it for day-to-day development
  • maybe frontend development is more supported
  • right now it's free to use, but might later be a paid software

Depending on the price and the value it brings, will it be comparable to the free VSCode or top-of-the-line paid IDEs such as Webstorm and Rider among others?

Pro tip:

Instead of manually downloading, installing and individually managing your Jetbrains IDEs, you can use the free Jetbrains Toolbox to manage them all in a single UI.


How to Solve this Selenium Error?

session not created: This version of ChromeDriver only supports Chrome version 105

This happens when the ChromeDriver version is updated but the one in your package manager isn't.

I resolved this error simply by updating my Nuget package for dotnet.


Favourite IDE Feature

One of the best reasons to use Jetbrains' IDE is this unique feature. I've rarely seen it work out of the box in any other popular ones including Visual Studio.

Save and Load Context.

I use this all the time when switching between Test Automation, Backend and Frontend Development in the same project.

All the opened tabs are loaded back as they were.

I don't even need to think about this.


References

[1] - https://www.amazon.com/You-Inc-Selling-Yourself-Business-ebook/dp/B00FOU9BK6/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1542809628&sr=8-1