ES.25 -- Is it truly beneficial to always employ const for objects?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- documentation
Línea de trabajo
Comienza leyendo la discusión de este issue y el issue 19 de CppCoreGuidelines al que se hace referencia. En el informe no se nombra ningún archivo, prueba ni punto de entrada; el trabajo requeriría primero decidir si debe cambiar la guía sobre las variables locales const y, después, documentar el resultado acordado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
"Yes, certainly!". This was my initial reaction upon encountering the recommendation. However, as I delved deeper into C++ development, engaged in code reviews, and studied existing programs in the language, I started to question whether this recommendation is universally beneficial. Seeking insights from seasoned C++ developers, I discovered that the use of const for local variables is subjective, driven by personal preferences, individual tastes, and even ideological beliefs, rather than being an unequivocally superior practice (in their opinion). Here are a few tips based on these discussions:
constcreates a lot of "visual noise" in the code. For example,const int* const pointer = &variable;. This is harder to read thanint * pointer = &variable;. But maybe it makes sense to sacrifice readability for something more significant?- "
constallows you to monitor in the code which variables are changing and which are not." This is justified in large chunks of code (which it is recommended to avoid), where it is problematic to keep track of everything. But is it really worth inflating the amount of code and sacrificing readability in small methods, where it is easy to keep track of the local variables constancy? constwon't help optimize the code. Modern compilers themselves are able to do static analysis and optimize constants.
Being a lead programmer, in my team I allowed to write const for local variables at will and no longer pay attention to it in code reviews. The colleagues with whom I discussed this issue have the same opinion. Writing const for local variables is a programmer's personal matter.
What's your opinion?
IMHO: In a language, it is better to have a mutable modifier rather than const. Then this problem did not exist at all. But c++ cannot afford such an approach.
P.S. Something similar was discussed in https://github.com/isocpp/CppCoreGuidelines/issues/19.
- Lenguaje dominante
- CSS
- Estrellas
- 45.3k
- Forks
- 5.6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de isocpp/CppCoreGuidelines
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 75/100
isocpp/CppCoreGuidelines#2338 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
isocpp/CppCoreGuidelines#2205 · 8 comentarios ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 64/100
isocpp/CppCoreGuidelines#1649 · 3 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
isocpp/CppCoreGuidelines#2336 · 4 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
isocpp/CppCoreGuidelines#2335 · 2 comentarios ·
Todos los issues de isocpp/CppCoreGuidelines
Issues similares
-
https://search.utilibre.orgAbiertoinstance instance add
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
searxng/searx-instances#941 · 1 comentario ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
radius-project/ai-extensions#923 ·
Los mantenedores suelen responder en 1 día
-
area: cli area: docs bug difficulty:2 help wanted S4: cosmetic
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
manaflow-ai/cmux#15710 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
FluidNumerics/fluid-walk-blocker#89 ·
Los mantenedores suelen responder en 1 día
-
:watch: Not Triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día