Skip to content

Instantly share code, notes, and snippets.

@QuinnrElder
Last active August 23, 2020 20:40
Show Gist options
  • Save QuinnrElder/8b97887bc77f7a85369eba56df2d07f9 to your computer and use it in GitHub Desktop.
Save QuinnrElder/8b97887bc77f7a85369eba56df2d07f9 to your computer and use it in GitHub Desktop.

Q-1

What does it mean to create localizable web applications?

  • Don't hardcode English text, formats (numbers, dates, addresses, etc.), word order or sentence structure.
  • Don't put text or numbers in images.
  • Don't forget about right-to-left locales.
  • Take advantage of printf() (or equivalents) and use variables in the English strings.
  • Write semantic code (e.g. don't use text and for decorations; instead, use CSS).
  • Document your code so that localizers know what they're translating (e.g. in gettext use comments and contexts).

Q-2

Tell me two advantages of testing your code.

  • #1 1st advantage is that when pushing to production is that the code will not break existing features in production.
  • #2 Easy to find bugs and defects in code when refactoring or implementing new features

Q-3

Name three strategies for fixing cross-browser inconsistencies.

  • Keep the design simple
  • Cross browser testing
  • Use frameworks

"Also look into graceful-degridation and rogressive enhancement"

Q-4

What are some tools and strategies you use to prevent shipping unstable code to production?

  • Look into Unit and integration testing "TDD"
  • Agile Workflow "sprints"
  • Continuous intergration with PR

Q-5

What factors influence whether you’ll take a progressive enhancement vs. graceful degradation approach to building an application?

  • Graceful Degradation is the practice of building your web functionality so that it provides a certain level of user experience in more modern browsers, but it will also degrade gracefully to a lower level of user in experience in older browsers. This lower level is not as nice to use for your site visitors, but it does still provide them with the basic functionality that they came to your site to use; things do not break for them.
  • Progressive enhancement is similar, but it does things the other way round. You start by establishing a basic level of user experience that all browsers will be able to provide when rendering your web site, but you also build in more advanced functionality that will automatically be available to browsers that can use it.
  • Graceful degradation starts from the status quo of complexity and tries to fix for the lesser experience whereas progressive enhancement starts from a very basic, working example and allows for constant extension for future environments. Degrading gracefully means looking back whereas enhancing progressively means looking forward whilst keeping your feet on firm ground.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment