Нещодавно я поставив запитання на запитання про щось, що написано на C ++, але замість того, щоб отримати відповідь на проблему, що склалася, коментарі пішли з розуму на мій стиль кодування, навіть коли я вказав, що це WIP фрагмент коду і що я мав намір прибрати його пізніше, коли в мене був запущений базовий корпус. (Я отримав стільки голосів вниз, що я вирішив поставити запитання, оскільки моя репутація щодо ТА вже майже не відповідає)
Це змусило мене замислитися, чому люди сприймають таке жорстке ставлення "ти нобій, піди ебати себе". Мене звинувачували в написанні C ++ так, ніби це Java. Щось, що я не можу зрозуміти, і що все ще мене бентежить.
Я вже кілька років програмую досить багато мов OOP, хоча і з інтервалом. Я вибираю мову, яку слід використовувати з точки зору наявних у ній бібліотек та оптимальних середовищ для виконання роботи. Я приймаю шаблони дизайну в коді OOP, і я впевнений, що моє використання шаблонів є здоровим і що OO мудрий, я можу власноруч власноруч. Я розумію панель інструментів OOP, але вибираю використовувати інструменти лише тоді, коли я думаю, що це дійсно потрібно, а не просто використовувати акуратний трюк, щоб показати мою дотепність кодування. (Якого я знаю, що це не найкращий рівень, але я думаю, що вони також не на рівні n00b).
Я розробляю свій код, перш ніж написати єдиний рядок. Для визначення тестів я перераховую цілі певного класу та критерії тесту, яких він повинен дотримуватися. Оскільки мені легше створити діаграми послідовностей, а потім написати код, я вирішив написати свої тести після того, як інтерфейс став очевидним.
Я мушу визнати, що у фрагменті коду, який я розмістив у запитанні, я все ще використовував покажчики, а не розумні покажчики. Я використовую RAII, коли можу. Я знаю, що належний RAII означає захист від нульових покажчиків, але я працюю поступово. Це була незавершена робота, і я мав намір прибрати її пізніше. Цей спосіб роботи рішуче засуджений.
На мою думку, я мав би спочатку мати робочий приклад, щоб я міг зрозуміти, чи є базовим випадком життєздатний спосіб мислення. Також мені здається, що після очищення базового випадку очищення коду - це те, що є типовим для фази рефакторингу гнучкості. Я мушу визнати, що хоча я повільно отримую стандарт Cxx, я вважаю за краще використовувати те, що я розумію, а не ризикувати використанням понять, які мені ще належить засвоїти у виробничому коді. Я пробую нові речі раз у раз, але зазвичай у ігрових проектах, які у мене є на стороні, саме для цієї мети.
[ред.] Я хотів би уточнити, що пропозиція гната [1] не з’явилася в пошуку, який я проводив, перш ніж я почав задавати своє запитання. Однак, хоча його пропозиція охоплює один аспект питання, питання, з яким він пов'язує, не відповідає серцю мого питання, лише його частиною. Моє запитання стосується більше відповіді на мій стиль кодування та професійні аспекти обробки різних стилів кодування та (очевидного) рівня майстерності. Що стосується мого попереднього запитання щодо SO та його відповіді як конкретного випадку. [/ редагувати]
Питання тоді: навіщо знущатися над тим, хто не використовує ваш стиль кодування?
Для мене питання / підрозділи:
- Чому було б поганою практикою програмування використовувати більш схильний до помилок код у прототипних ситуаціях, якщо рефакторинг робить його більш надійним після цього?
- Як може програма, написана на C ++, була такою, якою вона написана на Java? Що робить це поганою програмою (враховуючи, що я вказав намір поточного стилю та заплановану роботу щодо вдосконалення?)
- Як я став би поганим професіоналом, якби вирішив використовувати конструкцію, яка використовується в певній парадигмі програмування (наприклад, OOP / DP)?
int
змінними, щоб відстежувати фактичну довжину.