Website Review


Введите домен


← Нажмите чтобы обновить
herbsutter.com

Обзор веб-сайта herbsutter.com

 Сгенерирован 21 Апреля 2021 09:39

Устаревшие данные? ОБНОВИТЬ !


Набрано баллов: 61/100

СЕО Контент

Заголовок страницы

Sutter’s Mill – Herb Sutter on software development



Длина : 51

Замечательно, Ваш заголовок страницы содержит от 10 до 70 символов.
Описание страницы

Herb Sutter on software development



Длина : 35

В идеале, Ваше описание страницы должено содержать от 70 до 160 символов (вместе с пробелами). Используйте этот бесплатный инструмент для подсчета длины символов в тексте.
Ключевые слова



Очень плохо. Мы не нашли ключевых слов на Вашем веб-сайте. Используйте бесплатный генератор мета-тэгов, чтобы сгенерировать ключевые слова.
Og Meta Properties Замечательно, Вы используете преимущества Og Properties.
Свойство Контент
type website
title Sutter’s Mill
description Herb Sutter on software development
url https://herbsutter.com/
site_name Sutter’s Mill
image https://secure.gravatar.com/blavatar/4554b8d24c7f200dc5e2e1b18db1893f?s=200&ts=1618990786
image:width 200
image:height 200
locale en_US
Заголовки
H1 H2 H3 H4 H5 H6
27 53 13 0 0 0
  • [H1] Sutter’s Mill
  • [H1] GotW #101 Solution: Preconditions, Part 2 (Difficulty: 7/10)
  • [H1] Notes
  • [H1] Acknowledgments
  • [H1] GotW #101: Preconditions, Part 2 (Difficulty: 7/10)
  • [H1] Notes
  • [H1] GotW #100 Solution: Preconditions, Part 1 (Difficulty: 8/10)
  • [H1] Notes
  • [H1] Acknowledgments
  • [H1] Trip report: Winter 2021 ISO C++ standards meeting (virtual)
  • [H1] GotW #100: Preconditions, Part 1 (Difficulty: 8/10)
  • [H1] Notes
  • [H1] GotW #99 Solution: Postconditions (Difficulty: 7/10)
  • [H1] Notes
  • [H1] Acknowledgments
  • [H1] GotW #99: Postconditions (Difficulty: 7/10)
  • [H1] Notes
  • [H1] GotW #98 Solution: Assertion levels (Difficulty: 5/10)
  • [H1] Notes
  • [H1] Acknowledgments
  • [H1] GotW #98: Assertion levels (Difficulty: 5/10)
  • [H1] GotW #97 Solution: Assertions (Difficulty: 4/10)
  • [H1] Notes
  • [H1] Acknowledgments
  • [H1] Follow by email
  • [H1] Tweets
  • [H1] Archives
  • [H2] 1. Consider these functions, expanded from an article by Andrzej Krzemieński: [1] … How many ways could a caller of each function get the arguments wrong, but that would silently compile without error? Name as many different ways as you can.
  • [H2] (a) is_in_values (int val, int min, int max)
  • [H2] (b) is_in_container (int val, int idx_min, int idx_max)
  • [H2] (c) is_in_range (T val, Iter first, Iter last)
  • [H2] 2. Show how can you improve the function declarations in Question 1 by …
  • [H2] (a) just grouping parameters, using a struct with public variables
  • [H2] (b) just using an encapsulated class, using a class with private variables (an abstraction with its own invariant)
  • [H2] (c) just using post-C++20 contract preconditions (not yet valid C++, but something like the syntax in [2])
  • [H2] 3. Consider these three examples, where each shows expressing a boolean condition either as a function precondition or as an encapsulated invariant inside a new type… In each of these cases, which way is better? Explain your answer.
  • [H2] JG Question
  • [H2] Guru Questions
  • [H2] 1. What is a precondition, and how is it related to an assertion?
  • [H2] Explain your answer using the following example, which uses a variation of a proposed post-C++20 syntax for preconditions. [1]
  • [H2] 2. Rewrite the example in Question 1 to show how to approximate the same effect using assertions in today’s C++.
  • [H2] Are there any drawbacks to your solution compared to having language support for preconditions?
  • [H2] 3. If a precondition fails, what does that indicate, and who is responsible for fixing the failure?
  • [H2] Explain how this makes a precondition fundamentally different from every other kind of contract.
  • [H2] 4. Consider this example, expanded from a suggestion by Gábor Horváth:
  • [H2] a) What kinds of preconditions must a caller of calc satisfy that can’t generally be written as testable boolean expressions?
  • [H2] b) What kinds of boolean-testable preconditions are implicit within the explicitly written declaration of calc?
  • [H2] c) Should any of these boolean-testable implicit preconditions also be written explicitly here in this precondition code? Explain.
  • [H2] Our virtual 2021
  • [H2] Today: A few more C++23 features adopted
  • [H2] What’s next
  • [H2] JG Question
  • [H2] Guru Questions
  • [H2] 1. What is a postcondition, and how is it related to an assertion?
  • [H2] Explain your answer using the following example, which uses a variation of a proposed post-C++20 syntax for postconditions. [1]
  • [H2] 2. Rewrite the example in Question 1 to show how to approximate the same effect using assertions in today’s C++. Are there any drawbacks to your solution compared to having language support for postconditions?
  • [H2] 3. Should a postcondition be expected to be true if the function throws an exception back to the caller?
  • [H2] Justify your answer with example(s).
  • [H2] 4. Should postconditions be able to refer to both the initial (on entry) and final (on exit) value of a parameter, if those could be different?
  • [H2] If so, give an example.
  • [H2] JG Question
  • [H2] Guru Questions
  • [H2] 1. Give one example each of an asserted condition whose run-time evaluation is:
  • [H2] a) super cheap
  • [H2] b) arbitrarily expensive
  • [H2] 2. What does the answer to Question 1 imply for assertion checking? Explain.
  • [H2] 3. Give an example of an asserted condition that is in general impossible to evaluate, and so cannot be checked.
  • [H2] Can these kinds of conditions still be useful?
  • [H2] 4. How do these questions help answer:
  • [H2] a) what “levels” of asserted conditions we should be able to express?
  • [H2] b) why the assertions we can “practically” write are a subset of all the ones we might “ideally” like to write?
  • [H2] JG Questions
  • [H2] Guru Questions
  • [H2] 1. What is an assertion, and what is it used for?
  • [H2] 2. C++20 supports two main assertion facilities… For each one, briefly summarize how it works, when it is evaluated, and whether it is possible for the programmer to specify a message to be displayed if the assertion fails.
  • [H2] 3. If an assertion fails, what does that indicate, and who is responsible for fixing the failure?
  • [H2] 4. Are assertions primarily about checking at compile time, at test time, or at run time? Explain.
  • [H2] Posts navigation
  • [H2]
  • [H2]
  • [H3] (a) A vector that is sorted
  • [H3] // (b) A vector that is not empty
  • [H3] (c) A pointer that is not null
  • [H3] (1) Type invariants
  • [H3] (2) Subexpression preconditions
  • [H3] (3) Subexpressions that make the whole precondition false
  • [H3] Putting it all together
  • [H3] Option 1 (basic): Named return object + an exit guard
  • [H3] Option 2 (better): “return post” postcondition pattern
  • [H3] Option 3 (mo’betta): Wrapping up option 2… with a macro
  • [H3] assert
  • [H3] static_assert
  • [H3] Bonus: [[assert: ?
Картинки Мы нашли 5 картинок на этом веб-сайте.

5 alt атрибута(-ов) не найдено. Добавив альтернативный текст, поисковые роботы будут лучше понимать содержание картинки.
Соотношение Контент/HTML Соотношение : 16%

Хорошо, соотношение текста в коде HTML выше, чем 15 процентов, но ниже, чем 25 процентов.
Flash Замечательно, мы не нашли Flash контента на странице.
Iframe Замечательно, мы не зафиксировали Iframe'ов на Вашей странице.

ЧПУ ссылки Отлично, все Ваши ссылки являются ЧПУ!
Нижнее подчеркивание в ссылках Прекрасно! Мы не нашли "нижнее подчеркивание" в Ваших ссылках.
Внутренние ссылки Мы нашли 197 ссылок(-и), включая 2 ссылок ссылок(-и) на файл(-ы).



Анкор Тип Вес ссылки
Skip to content Внутренняя Передает вес
Sutter’s Mill Внутренняя Передает вес
GotW #101 Solution: Preconditions, Part 2 (Difficulty: 7/10) Внутренняя Передает вес
GotW #98 Внутренняя Передает вес
“Contracts, preconditions and invariants” Внешняя Передает вес
“P0542: Support for contract based programming in C++” Внешняя Передает вес
P0515 Внешняя Передает вес
P0893 Внешняя Передает вес
“I.12 Declare a pointer that must not be null as not_null” Внешняя Передает вес
Herb Sutter Внутренняя Передает вес
C++ Внутренняя Передает вес
GotW Внутренняя Передает вес
Uncategorized Внутренняя Передает вес
9 Comments Внутренняя Передает вес
GotW #101: Preconditions, Part 2 (Difficulty: 7/10) Внутренняя Передает вес
GotW #100 Solution: Preconditions, Part 1 (Difficulty: 8/10) Внутренняя Передает вес
#97 Внутренняя Передает вес
#99 Внутренняя Передает вес
Trip report: Winter 2021 ISO C++ standards meeting (virtual) Внутренняя Передает вес
priorities Внешняя Передает вес
schedule Внешняя Передает вес
P1102 Внешняя Передает вес
P2259 Внешняя Передает вес
P2017 Внешняя Передает вес
P2212 Внешняя Передает вес
P2162 Внешняя Передает вес
P1682 Внешняя Передает вес
P0533 Внешняя Передает вес
Upcoming Meetings page Внешняя Передает вес
2 Comments Внутренняя Передает вес
GotW #100: Preconditions, Part 1 (Difficulty: 8/10) Внутренняя Передает вес
4 Comments Внутренняя Передает вес
“P0052: Generic Scope Guard and RAII Wrapper for the Standard Library” Внешняя Передает вес
“Change the Way You Write Exception-Safe Code – Forever” Внешняя Передает вес
compose Внешняя Передает вес
11 Comments Внутренняя Передает вес
GotW #99: Postconditions (Difficulty: 7/10) Внутренняя Передает вес
5 Comments Внутренняя Передает вес
assumes what we want to prove Внешняя Передает вес
4 Comments Внутренняя Передает вес
GotW #98: Assertion levels (Difficulty: 5/10) Внутренняя Передает вес
11 Comments Внутренняя Передает вес
shift-left Внешняя Передает вес
shift-right Внешняя Передает вес
belt-and-suspenders Внешняя Передает вес
“Planning and Coding of problems for an Electronic Computing Instrument” Внешняя Передает вес
“Checking a Large Routine” Внешняя Передает вес
“P0542: Support for contract based programming in C++” Внешняя Передает вес
spdlog: Fast C++ logging library Внешняя Передает вес
Event Tracing for Windows (ETW) Внешняя Передает вес
“P2064: Assumptions” Внешняя Передает вес
18 Comments Внутренняя Передает вес
Older posts Внутренняя Передает вес
Tweets Внешняя Передает вес
isocpp Внешняя Передает вес
bit.ly/3rSiLGF Внешняя Передает вес
#cpp Внешняя Передает вес
2 weeks ago Внешняя Передает вес
March 2021 Внутренняя Передает вес
February 2021 Внутренняя Передает вес
January 2021 Внутренняя Передает вес
December 2020 Внутренняя Передает вес
November 2020 Внутренняя Передает вес
October 2020 Внутренняя Передает вес
September 2020 Внутренняя Передает вес
July 2020 Внутренняя Передает вес
June 2020 Внутренняя Передает вес
May 2020 Внутренняя Передает вес
April 2020 Внутренняя Передает вес
March 2020 Внутренняя Передает вес
February 2020 Внутренняя Передает вес
November 2019 Внутренняя Передает вес
October 2019 Внутренняя Передает вес
September 2019 Внутренняя Передает вес
July 2019 Внутренняя Передает вес
June 2019 Внутренняя Передает вес
May 2019 Внутренняя Передает вес
April 2019 Внутренняя Передает вес
February 2019 Внутренняя Передает вес
November 2018 Внутренняя Передает вес
September 2018 Внутренняя Передает вес
July 2018 Внутренняя Передает вес
April 2018 Внутренняя Передает вес
November 2017 Внутренняя Передает вес
October 2017 Внутренняя Передает вес
September 2017 Внутренняя Передает вес
July 2017 Внутренняя Передает вес
June 2017 Внутренняя Передает вес
March 2017 Внутренняя Передает вес
February 2017 Внутренняя Передает вес
November 2016 Внутренняя Передает вес
September 2016 Внутренняя Передает вес
June 2016 Внутренняя Передает вес
March 2016 Внутренняя Передает вес
October 2015 Внутренняя Передает вес
September 2015 Внутренняя Передает вес
July 2015 Внутренняя Передает вес
June 2015 Внутренняя Передает вес
May 2015 Внутренняя Передает вес
April 2015 Внутренняя Передает вес
January 2015 Внутренняя Передает вес
December 2014 Внутренняя Передает вес
November 2014 Внутренняя Передает вес
October 2014 Внутренняя Передает вес
September 2014 Внутренняя Передает вес
August 2014 Внутренняя Передает вес
July 2014 Внутренняя Передает вес
May 2014 Внутренняя Передает вес
April 2014 Внутренняя Передает вес
March 2014 Внутренняя Передает вес
February 2014 Внутренняя Передает вес
January 2014 Внутренняя Передает вес
December 2013 Внутренняя Передает вес
November 2013 Внутренняя Передает вес
October 2013 Внутренняя Передает вес
September 2013 Внутренняя Передает вес
August 2013 Внутренняя Передает вес
July 2013 Внутренняя Передает вес
June 2013 Внутренняя Передает вес
May 2013 Внутренняя Передает вес
April 2013 Внутренняя Передает вес
March 2013 Внутренняя Передает вес
February 2013 Внутренняя Передает вес
January 2013 Внутренняя Передает вес
December 2012 Внутренняя Передает вес
November 2012 Внутренняя Передает вес
October 2012 Внутренняя Передает вес
September 2012 Внутренняя Передает вес
August 2012 Внутренняя Передает вес
July 2012 Внутренняя Передает вес
June 2012 Внутренняя Передает вес
May 2012 Внутренняя Передает вес
April 2012 Внутренняя Передает вес
March 2012 Внутренняя Передает вес
February 2012 Внутренняя Передает вес
January 2012 Внутренняя Передает вес
December 2011 Внутренняя Передает вес
November 2011 Внутренняя Передает вес
October 2011 Внутренняя Передает вес
September 2011 Внутренняя Передает вес
August 2011 Внутренняя Передает вес
July 2011 Внутренняя Передает вес
June 2011 Внутренняя Передает вес
May 2011 Внутренняя Передает вес
April 2011 Внутренняя Передает вес
March 2011 Внутренняя Передает вес
January 2011 Внутренняя Передает вес
December 2010 Внутренняя Передает вес
October 2010 Внутренняя Передает вес
September 2010 Внутренняя Передает вес
August 2010 Внутренняя Передает вес
July 2010 Внутренняя Передает вес
June 2010 Внутренняя Передает вес
May 2010 Внутренняя Передает вес
April 2010 Внутренняя Передает вес
March 2010 Внутренняя Передает вес
February 2010 Внутренняя Передает вес
January 2010 Внутренняя Передает вес
December 2009 Внутренняя Передает вес
November 2009 Внутренняя Передает вес
October 2009 Внутренняя Передает вес
September 2009 Внутренняя Передает вес
August 2009 Внутренняя Передает вес
July 2009 Внутренняя Передает вес
June 2009 Внутренняя Передает вес
May 2009 Внутренняя Передает вес
April 2009 Внутренняя Передает вес
March 2009 Внутренняя Передает вес
February 2009 Внутренняя Передает вес
January 2009 Внутренняя Передает вес
December 2008 Внутренняя Передает вес
November 2008 Внутренняя Передает вес
October 2008 Внутренняя Передает вес
September 2008 Внутренняя Передает вес
August 2008 Внутренняя Передает вес
July 2008 Внутренняя Передает вес
June 2008 Внутренняя Передает вес
May 2008 Внутренняя Передает вес
April 2008 Внутренняя Передает вес
March 2008 Внутренняя Передает вес
February 2008 Внутренняя Передает вес
January 2008 Внутренняя Передает вес
December 2007 Внутренняя Передает вес
November 2007 Внутренняя Передает вес
October 2007 Внутренняя Передает вес
September 2007 Внутренняя Передает вес
August 2007 Внутренняя Передает вес
July 2007 Внутренняя Передает вес
June 2007 Внутренняя Передает вес
May 2007 Внутренняя Передает вес
April 2007 Внутренняя Передает вес
March 2007 Внутренняя Передает вес
February 2007 Внутренняя Передает вес
January 2007 Внутренняя Передает вес
December 2006 Внутренняя Передает вес
Blog at WordPress.com. Внешняя noFollow
Cancel Внутренняя Передает вес

Ключевые слова

Облако ключевых слов auto abstraction precondition preconditions int all using type because wrong
Содержание ключевых слов
Ключевое слово Контент Заголовок страницы Ключевые слова Описание страницы Заголовки
int 32
wrong 29
type 29
using 24
preconditions 24

Юзабилити

Домен Домен : herbsutter.com
Длина : 14
Favicon Отлично, Ваш сайт имеет favicon.
Пригодность для печати Отлично. Мы нашли CSS файл, отвечающий за печать веб-сайта.
Язык Хорошо, Ваш установленный язык веб-сайта: en.
Dublin Core Ваш веб-сайт не использует преимущества Dublin Core.

Документ

Doctype HTML 5
Кодировка Замечательно. Кодировка веб-сайта: UTF-8.
W3C Validity Ошибок : 3
Предупреждений : 48
Приватность эл. почты Отлично, мы не нашли адрес эл. почты в контенте!
Устаревший HTML Отлично. Мы не нашли устаревших тэгов в Вашем HTML.
Скорость загрузки
Отлично, Ваш веб-сайт не содержит вложенных таблиц.
Слишком плохо. Ваш веб-сайт использует встроенные CSS правила в HTML тэгах.
Замечательно. Ваш веб-сайт имеет мало CSS файлов.
Плохо. Ваш веб-сайт имеет слишком много JavaScript файлов (больше чем 6).
Очень плохо, ваш сайт не использует возможность gzip сжатия.

Мобильный телефон

Оптимизация под моб. телефон
Apple иконки
Meta Viewport Тэг
Flash контент

Оптимизация

XML карта сайта Отлично, ваш сайт имеет XML карту сайта.

http://herbsutter.com/sitemap.xml
https://herbsutter.com/sitemap.xml
https://herbsutter.com/news-sitemap.xml
Robots.txt http://herbsutter.com/robots.txt

Отлично, ваш веб-сайт содержит файл robots.txt.
Аналитика Отсутствует

Мы не нашли ни одной аналитической программы на вашем сайте.

Веб аналитика позволяет следить за активностью пользователей на вашем веб-сайте. Вы должны установить как минимум один инструмент, но также хорошо иметь несколько, чтобы сравнивать показания между собой.

PageSpeed Insights


Устройство
Категории


Visi mobilieji | Darbo birža | Receptai | Vyriski ir moteriski batai | ETS 2 mods | Kur apsistoti Šiauliuose? | IT naujienos |