в общем, покурив и подумав о мелочах бытия, я ВДРУГ(читай ВНЕЗАПНО) осознал, что я придурок, потому что до сих пор не могу нормально строить архитектуру проекта.
где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию.
приведу пример.
рогалик.
надо генерировать мир, надо его прорисовывать, надо думать о нем, надо функции, которые, впринципе, для монстров и героя одинаковые…
у меня образовалось штук 10 вариантов и я даже не могу предположить, какие они должны быть.
начал в итоге с того, что просто набросал все функции, о которых думал. предположил, что потом "рассую" по классам и в момент, когда начну строить костяк\рефакторить, мне будет намного легче.
правильно?
1 апреля 2010 в 22:01
макконекл тру
1 апреля 2010 в 21:05
Николай, хз, как-то смутно пишет… хотя, может, я тупой
1 апреля 2010 в 21:04
Ыыыыы… А я вот сейчас пытаюсь написать системку olap анализа для своего сайта и плин все хорошо, да в одном месте требуется функциональность особая, а для этого надо интерфейсы усложнять, а я этого не хочу. И альтернативы видимо нет этому…
1 апреля 2010 в 21:03
> и рефакторинг мне не понравился.(
Почему?
1 апреля 2010 в 19:04
за последнюю ссыль спасибо.
и рефакторинг мне не понравился.(
я что, плохой, все эту книжку любят ?
1 апреля 2010 в 19:04
Алексей, спасибо, посмотрю.
пока что да, язык плюсы.
насчет мелкомягкого – не знаю, может, маркетологи они и хорошие, но читать что-то от них принципиально не хочетсо =)
1 апреля 2010 в 19:01
//htdp.org/
После разберитесь с тем, *зачем* придумали те или иные фичи языка.
Например, классы можно рассматривать как абстрактные типы данных с той разницей, что во время работы программы могут сосуществовать различные реализации.
ИМХО, конечно же.
1 апреля 2010 в 18:03
[ Алексѣй Annaero-Kun Крикуновъ ]
ЗЫ посоветуйте, что-нибудь по рефакторингу, пожалуйста.
Имеется ввиду с теоретической точки зрения?
Если кратко, то можно почитать на википедии. Там без лишнего. Но и на полноту не претендует.
1 апреля 2010 в 18:03
> ЗЫ посоветуйте, что-нибудь по рефакторингу, пожалуйста.
ВНЕЗАПНО
Мартин Фаулер. Рефакторинг. Улучшение существующего кода =)
1 апреля 2010 в 18:03
Николай Митропольскiй
Просто книг с похожим названием, чуть больше чем дофига, выбрать-то тяжело)
Спасибо.
1 апреля 2010 в 18:03
Ну Фаулер это как бы классика
а что есть с похожим названием? О_о
1 апреля 2010 в 18:03
Судя по озону – таки да.
1 апреля 2010 в 18:01
Есть такая книга, от которой я пришел в восторг (все просто, доступно, понятно и не заумно). Я ее еще не дочитал, но уже сейчас я могу сказать, что принципы мне очень понравились, которые там описываются, про совершенность методов и идей я говорить не буду, ибо архитектура, это действительно искусство, которому надо учиться годами. Дак вот, эта книга называется "Руководство Microsoft по проектированию архитектуры приложений 2-е издание". Есть ли она в печатном варианте я не знаю, я ее скачал на сайте MSDN.
1 апреля 2010 в 18:01
Макконел, Джоэл. Многое о проектировании подчерпнул из книжки Солтера и Клепера "с++ для профессионалов". Конечно, упор делается на проектировании с++ проектов, но, на мой взгля, подойдет для любых проектов.
ЗЫ посоветуйте, что-нибудь по рефакторингу, пожалуйста.
1 апреля 2010 в 18:00
я хотел достичь концепции "плановой экономики" и доказать, что Сталин был прав, когда ввел госплан… здесь тоже есть разногласия?
просто меня сильно напрягает то, что заказчик-то я сам себе и, в общем-то, четко могу сказать себе, что именно я хочу…
1 апреля 2010 в 18:00
Совершенный код мне не понравился. это как Солженицын – мощно, но гадко. может быть, я дурак. куплю, перечитаю.
1 апреля 2010 в 18:00
Солженицын в отличие от Макконнелла – мудак и смутьян, у второго же есть реальный (удачный и не очень) опыт, который он и описал в этой книге.
Книгу сейчас ты нигде не купишь – только с рук.
Либо в электронном виде.
1 апреля 2010 в 17:05
> где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию
Почитай Макконнелла, книга "Совершенный код". Там очень много ценных советов, методик и т.п. Книга хороша тем, что она сразу заставляет перестраивать мышление и менять взгляд на программирование.
Но она как бэ универсальная, каких-то специфических и узкопрофильных методик там не найдешь – только общие и важные принципы проектирования и создания ПО.
> Вообще есть такая штука, называется "системный анализ", вроде как по нему даже есть учебники
Я думаю, чтобы читать такие учебники (толковые), надо как минимум проучиться 2 года на математическом факультете. Да и толку от таких учебников мало, там же теория в основном, практика она гораздо более приземленная, как правило.
1 апреля 2010 в 16:05
> потому что до сих пор не могу нормально строить архитектуру проекта.
если это тебя утешит, то я тоже Ещё это осложняется тем, что довольно редко знаешь, что ты хочешь в итоге получить и что на самом деле в итоге будет делать твоя система
> где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию.
Вообще есть такая штука, называется "системный анализ", вроде как по нему даже есть учебники, но по сути это скорее искусство чем навык, которому можно обучить. Вообще можно для затравки полчитать банду четырёх про паттерны, но в целом оно не даст ответы на твои вопросы. На них даст ответы только опыт
> начал в итоге с того, что просто набросал все функции, о которых думал. предположил, что потом "рассую" по классам и в момент, когда начну строить костяк\рефакторить, мне будет намного легче.
правильно?
Ну вобщем-то так и надо, это называется Agile, и на мой вкус, является единственно верной на сегодняшний день методологией проектирования.
22 мая 2021 в 12:57
есть ли смысл в глобальных переменных?
просто мне, скажем, в игре, бывает лень создавать дофига методов для изменения какого-то личного поля… это нормально вообще?
не проще объявить 5-6 глобальных переменных и структур?
и еще. если класс объявлен в классе, то каким он считается?
22 мая 2021 в 12:57
1.В каком-то смысле да – читай про синглтон.
2. Нет, при развитии попадёшь на вилы
3. Никаким не считается, речь только о его области видимости.
22 мая 2021 в 12:57
синглтон – не то, наверное.
какие вилы?
смотри, у меня есть экземлпляр Hero, которого все активно юзают: изменяют параметры, смотрят, где он находится…
это все надо бы в отдельные функции интерфейса прописать?
я один не вижу в этом смысла? это улучшает читабельность кода?