singlepost

курение, ООП и мелочи бытия << На главную или назад  

в общем, покурив и подумав о мелочах бытия, я ВДРУГ(читай ВНЕЗАПНО) осознал, что я придурок, потому что до сих пор не могу нормально строить архитектуру проекта.
где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию.

приведу пример.
рогалик.
надо генерировать мир, надо его прорисовывать, надо думать о нем, надо функции, которые, впринципе, для монстров и героя одинаковые...
у меня образовалось штук 10 вариантов и я даже не могу предположить, какие они должны быть.
начал в итоге с того, что просто набросал все функции, о которых думал. предположил, что потом "рассую" по классам и в момент, когда начну строить костяк\рефакторить, мне будет намного легче.
правильно?

23 ответов в теме “курение, ООП и мелочи бытия”

Страницы: [1] 2 3 »

  1. 1
    Александр Лищенер ответил:

    есть ли смысл в глобальных переменных?
    просто мне, скажем, в игре, бывает лень создавать дофига методов для изменения какого-то личного поля… это нормально вообще?
    не проще объявить 5-6 глобальных переменных и структур?

    и еще. если класс объявлен в классе, то каким он считается?

  2. 2
    Константин Смотритель ответил:

    1.В каком-то смысле да – читай про синглтон.
    2. Нет, при развитии попадёшь на вилы
    3. Никаким не считается, речь только о его области видимости.

  3. 3
    Александр Лищенер ответил:

    синглтон – не то, наверное.
    какие вилы?
    смотри, у меня есть экземлпляр Hero, которого все активно юзают: изменяют параметры, смотрят, где он находится…
    это все надо бы в отдельные функции интерфейса прописать?
    я один не вижу в этом смысла? это улучшает читабельность кода?

  4. 4
    Николай Митропольский ответил:

    > потому что до сих пор не могу нормально строить архитектуру проекта.
    если это тебя утешит, то я тоже :) Ещё это осложняется тем, что довольно редко знаешь, что ты хочешь в итоге получить и что на самом деле в итоге будет делать твоя система :)

    > где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию.
    Вообще есть такая штука, называется "системный анализ", вроде как по нему даже есть учебники, но по сути это скорее искусство чем навык, которому можно обучить. Вообще можно для затравки полчитать банду четырёх про паттерны, но в целом оно не даст ответы на твои вопросы. На них даст ответы только опыт :)

    > начал в итоге с того, что просто набросал все функции, о которых думал. предположил, что потом "рассую" по классам и в момент, когда начну строить костяк\рефакторить, мне будет намного легче.
    правильно?

    Ну вобщем-то так и надо, это называется Agile, и на мой вкус, является единственно верной на сегодняшний день методологией проектирования.

  5. 5
    Денис Федоренко ответил:

    > где можно почитать что-то ценное и хорошее про то, как более правильно организовать классы и их иерархию

    Почитай Макконнелла, книга "Совершенный код". Там очень много ценных советов, методик и т.п. Книга хороша тем, что она сразу заставляет перестраивать мышление и менять взгляд на программирование.
    Но она как бэ универсальная, каких-то специфических и узкопрофильных методик там не найдешь – только общие и важные принципы проектирования и создания ПО.

    > Вообще есть такая штука, называется "системный анализ", вроде как по нему даже есть учебники

    Я думаю, чтобы читать такие учебники (толковые), надо как минимум проучиться 2 года на математическом факультете. Да и толку от таких учебников мало, там же теория в основном, практика она гораздо более приземленная, как правило.

  6. 6
    Александр Лищенер ответил:

    я хотел достичь концепции "плановой экономики" и доказать, что Сталин был прав, когда ввел госплан… здесь тоже есть разногласия?

    просто меня сильно напрягает то, что заказчик-то я сам себе и, в общем-то, четко могу сказать себе, что именно я хочу…

  7. 7
    Александр Лищенер ответил:

    Совершенный код мне не понравился. это как Солженицын – мощно, но гадко. может быть, я дурак. куплю, перечитаю.

  8. 8
    Денис Федоренко ответил:

    Солженицын в отличие от Макконнелла – мудак и смутьян, у второго же есть реальный (удачный и не очень) опыт, который он и описал в этой книге.
    Книгу сейчас ты нигде не купишь – только с рук.
    Либо в электронном виде.

  9. 9
    Святослав Панкратов ответил:

    Есть такая книга, от которой я пришел в восторг (все просто, доступно, понятно и не заумно). Я ее еще не дочитал, но уже сейчас я могу сказать, что принципы мне очень понравились, которые там описываются, про совершенность методов и идей я говорить не буду, ибо архитектура, это действительно искусство, которому надо учиться годами. Дак вот, эта книга называется "Руководство Microsoft по проектированию архитектуры приложений 2-е издание". Есть ли она в печатном варианте я не знаю, я ее скачал на сайте MSDN.

  10. 10
    Алексей Крикунов ответил:

    Макконел, Джоэл. Многое о проектировании подчерпнул из книжки Солтера и Клепера "с++ для профессионалов". Конечно, упор делается на проектировании с++ проектов, но, на мой взгля, подойдет для любых проектов.
    ЗЫ посоветуйте, что-нибудь по рефакторингу, пожалуйста.

Страницы: [1] 2 3 »

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.