Вопрос: У меня у хомячка появилась непонятная мне проблема что мне делать и заранее спасибо

Как исправить ошибку в словосочетании послушаясь советов? заранее спасибо

Guest

Наслушавшись запретов, услышав о запретах.

Гость5
Всего 1 ответ.

Другие интересные вопросы и ответы

Как писать код без багов?

Сергей Чистович22

Я пишу код уже больше 20 лет и, хотя в последнее время больше занимаюсь руководством, на пике формы был способен писать по 500+ строк хорошо работающего кода в день. Вот принципы, которые мне в этом помогали:

  1. Не переобобщайте. Если не получается малой кровью создать универсальное решение, то и неважно, решите конкретную текущую задачу и двигайтесь дальше. Обобщение, даже хорошее, в 70% случаев так и остается нигде больше не использованным.

  2. Не оптимизируйте код заранее. Идея усложнить код ради его ускорения почти всегда ошибочна. Исключение возможно только в том случае, когда именно этот участок код “тормозит” так, что это уже заметно на уровне продукта или бизнеса. “Пессимизировать” код тоже, конечно, не нужно, из двух версий, одинаковых по сложности и по объему кода, выбирайте более быструю. Из этого есть важное следствие: нельзя дублировать данные и нельзя кешировать результаты вычислений там, где этого не требует во весь голос производительность. Больше половины структурных багов возникает из-за того, что “разъехались” кэш и реальные данные, причем еще и отлаживать такое обычно адски сложно, потому что в момент собственно “разъезжания” никакого бага еще не видно, он проявится потом, когда ставить breakpoint-ы и проходить исполнение по шагам уже поздно.

  3. Называйте и группируйте всё происходящее правильно. Код, в котором нет алгоритмических или технологических сложностей, должен читаться как текст, написанный по-английски. Хорошо, когда код, в котором ниндзя куда-то крадётся, выглядит как-то вроде ninja.sneak(…), а не pDst2.trySetCoord(…) и ещё десять строчек после этой, ни одну из которых нельзя забыть. Если функция что-то меняет в состоянии объекта, она не может называться isSomething — если так сделать, следующий же код с её участием обречён на интересный дебаг. Если функция что-то трудно вычисляет, она не может называться getSomething — кто-нибудь наверняка начнёт вызывать её в цикле и удивляться, почему всё тормозит. Класс, который хранит состояние документа, может называться DocumentState или Document, но никак не SDManager. Кстати, про Manager-ов. Если единственное название, которое вы можете выбрать для класса или метода, получается очень расплывчатым, это верный признак того, что вы делаете что-то неправильно. Классы BaseObject и World или функции databaseOps и initService быстро приведут к самым разным проблемам и багам, связанным с нарушениями этого и предыдущего пунктов.

  4. Не смешивайте алгоритмы и другие технологически сложные участки кода с бизнес-логикой. Выразительности современных языков программирования вполне достаточно для того, чтобы, скажем, графический движок компьютерной игры ничего не знал о ниндзя и вертолётах, функции работы с БД в CRM-системе не знали слов “счёт” и “клиент”, и т.д. и т.п. Для бизнес-логики типичны постоянные изменения, нечеткость и путаница. Как только сущности с разных уровней абстракции начинают упоминаться в соседних строчках кода, , всё это тут же начинает проникать и в технологически сложный код, и всё взрывается.

  5. Не используйте никакие advanced фичи никакого языка. В С++, например, не стоит пользоваться темплейтной магией, переопределением операторов, множественным наследованием и т.д. и т.п. Экзотические языки программирования (Haskell, диалекты Лиспа, хитрые декларативные язычки, работающие поверх JVM) вообще стоит использовать только как хобби, источник вдохновения. Не напрямую в той работе, за которую вам деньги платят. Эта точка зрения часто вызывает споры. К сожалению, обстоятельно аргументировать её в формате ответа на Знатоках не получится. Поэтому просто сошлюсь на свой почти 20-летний опыт индустриального программирования. Во всех областях и организациях, в которых я успел поработать, что в Яндексе, что в разработке игр, что в науке идея использовать в качестве рабочего инструмента “красивый полёт свободной мысли, недоступный простым умам” оказывалась разрушительной. Часто и для всего проекта, но всегда, без исключений, для автора идеи.

  6. Стоит выкинуть из головы все ООП. Единственное полезное, что в императивные языки пришло из этой идеологии – модификаторы private. Иерархии классов это зло, наследовать реализации нужно себе запретить. Наследовать можно интерфейсы, и то не слишком много уровней. Агрегация почти всегда лучше наследования. Большая часть классических “шаблонов проектирования” уже либо устарела, либо нашла поддержку на уровне языка.

  7. Используйте как можно больше assert’ов, логов и прочих способов поймать незапланированное состояние системы как можно раньше. Очень часто в момент, когда неверное поведение системы становится заметно пользователю, дебажить её уже сложно. Если же вы смогли поймать систему именно в тот момент, когда её внутреннее состояние впервые становится неконсистентным или она начинает вести себя не так, как вы задумывали, чаще всего разобраться в том, почему, становится тривиально.

  8. Каждая лишняя строчка кода это зло. Там, где это вообще возможно, не стоит пользоваться чужим кодом, который вы не прочитали и не поняли от и до. Это касается в том числе и широко известных библиотек и фреймворков общего назначения. Чем меньше кода (включая и тот, который пишешь сам, и тот, от которого зависишь) – тем лучше.

  9. Граничные случаи стоит проверять “в голове” прямо по ходу написания кода. Например: я пишу list.back(), а почему этот список не пуст? Как я “доказал” к этому моменту, что этого не может произойти? Что сделает эта функция, работающая со строчкой, если она пуста?

  10. Любой баг, если он все-таки вам встретился, старайтесь возводить до первопричины и до общего правила. Что я написал в коде такого, что этот баг вообще оказался возможен? Как я могу поменять свои практики так, чтобы больше никогда не допускать таких же? Например, баг состоял в том, что я написал такую-то строчку в функции save и забыл добавить симметричную в функции load. Может быть, пора, наконец, заменить эту пару на одну функцию serialize? Обложить их тестами? Или хотя бы поклясться вслух самому себе, что никогда не будете трогать их по одиночке? Или, например, причина бага была в том, что в указателе pNeighbor содержится null, а программа этого не ожидает и падает. Можно просто воткнуть if (pNeighbor != null) и закрыть баг как исправленный. А где ещё в коде разыменовывается pNeighbor? Везде ли есть такая же проверка? Насколько вообще эта ситуация легальна, может быть, настоящая ошибка там, где pNeighbor впервые оказался нулевым? Если значение pNeighbor это результат отображения NULL из БД на объектную модель, то как этот NULL попал в БД, кто его туда положил и не стоит ли воткнуть там constraint? И т.д и т.п. Никогда не считайте, что ваш код уже идеален! Наблюдайте за собой, совершенствуйтесь, старайтесь работать вместе с людьми, у которых есть, чему поучиться.

Тема эта неисчерпаема, приёмов и приёмчиков можно вспомнить ещё много, но я, пожалуй, остановлюсь на этой десятке. Всем хорошего кода!

А. Плахов47
я не программист, но могу предполагать, что поможет1 делать всё максимально просто,2 отчётливо3 делать только уникальные имена4 писать комментарии5 прежде всего писать псевдокод6 не спешить7 всегда проверять программу в деле8 найти\написать наиболее полный справочник исключений9 работать лишь при ясной голове, не ночью, высыпаться10 отлично знать язык11 смотреть на программу глазами пользователя12 стремиться локализовать ошибку13 делать сущностные тесты, не считать что просто прошедшая тест программа пригоднаIvan Kuznetsov-2
Всего 7 ответов.

Сдох хомячок – что сказать дочери? Как объяснить смерть любимого животного?

Стоит ли вообще объяснять, или лучше схитрить? – придумать, что хомяк ушёл в гости, и скоро вернётся, а потом просто купить другого?

Или попытаться объяснить, что его уже не вернёшь?

Как пережить смерть любимого хомячка?

Aleksandr4

Всё зависит от возраста дочки и её темперамента. С аналогичной ситуацией приходится сталкиваться многим родителям, которые держат дома домашнее животное. Лет 6 назад эту проблему решали и мы с женой.

Нашему сыну тогда исполнилось почти семь. А в хомячке, какого мы ему подарили на пятилетие, он просто души не чаял. Мог чуть ли не часами наблюдать за ним через стекло аквариума, где жил маленький симпатичный грызун. Поэтому, когда однажды утром он обнаружил бездыханное тельце – долго и безутешно плакал. Несколько часов мы с супругой объясняли ему, что хомяк – уже старенький, и он ушёл не совсем, а отправился в такое место, куда попадают все животные после смерти. Там у него появится много друзей и они целыми днями будут играть и веселиться. Но если он увидит, что ты станешь долго переживать то очень-очень опечалится. Наверное именно данные слова возымели своё действие и ребёнок постепенно успокоился.

Граф5
Всего 10 ответов.

У меня у хомячка появилась непонятная мне проблема что мне делать и заранее спасибо

София Гетьманская7
Похоже на загноение раны…. возможно мать его кусает…. они часто убивают своих детей…. раз такое заметили, то лучше отсадите его, чтобы спасти. Кормите самостоятельно, а рану обработайте, например, левомиколем…. Помните, что мы в ответе перед Творцом за тех кого приручили!Ирина3
Всего 4 ответа.

Как выглядит приступ психической эпилепсии и что люди при этом испытывают? (Хочу не википедийный ответ, а рассказ больных/друзей больных/очевидцев/врачей)

Maria Pavlova4

Термина “психическая эпилепсия” в психиатрии и неврологии нет. Эпилепсия это и так психическое заболевание.

Вы, наверное, имеете в виду эпилепсию с психотическими симптомами.

Эпилепсия это болезнь с очень-очень многообразными проявлениями. Есть судорожные, бессудорожные, с аурой/без ауры (предчувствие приступа), с потерей сознания/без его потери, с целым спектром психотических проявлений (голоса, звуки, зрительные образы, ощущения в теле), эмоциональными переживаниями (страх, эйфория, приятная тоска, оглушение). И так далее и тому подобное.

Приведу лишь некоторые примеры из тысяч (по рассказам пациентов и наблюдений).

1) Классический судорожный приступ. Внезапно начинает кружиться голова, ощущение непонятного страха, тоски. Всё это нарастает. Сердце начинает стучать всё быстрее. Наступает оглушение, словно куда-то проваливаешься. Внешне это выглядит так: человек отключается, не реагирует ни на что, падает на пол. Выгибается, краснеет, шейные вены набухают. И все мышцы тела начинают сокращаться, дыхание учащается, давление повышается. Изо рта выделяется пенистая слюна. Может обмочиться или обмараться. Продолжается приступ 2-5 минут. Судороги постепенно стихают. Человек открывает глаза, но ничего не понимает. Не знает, какое сегодня число, где он находится, говорит какие-то нелепые фразы. Спустя еще 10 минут наконец приходит в сознание окончательно. И ничего не помнит про приступ. Рассказывает лишь то, как у него закружилась голова и он словно куда-то провалился.

2) Начинает болеть голова, становится не по себе, всё раздражает, малейший звук вызывает ярость. Человек срывается, начинает ругаться, даже драться, отключается и далее развивается выше описанный судорожный приступ. Это называется дисфорический эпиприступ.

3) Начинает приближаться непонятное чувство: приятная тоска, в то же время страх, в то же время эйфория – это не просто чувство, а оно ощущается физически, расплывается по телу, всё вокруг кажется каким-то другим. Сердце колотится всё сильнее. Окружающее оказывается словно в тумане, звуки становятся всё мягче. И окружающие люди (если это случилось на улице, в людном месте) вдруг окружают и начинают спрашивать “что случилось?” поливают водой, лезут в рот. При этом внешне пациент замирает, валится на землю, взгляд стеклянный, изо рта течет слюна, подёргивается рука, нога или лицо.

4) Бывает, что эпилепсия проявляется лишь в том, что человек периодически замирает на несколько секунд (абсансы).

5) Джексоновская эпилепсия – когда человек не теряет сознание, но испытывает судороги определенной части тела (киношные истории на тему того, что рука вдруг начинает не слушаться человека и жить своей жизнью – из этой области).

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

Перечислять проявления приступов можно сколько угодно.

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

Александр Стерлигов53
Всего 6 ответов.
Вам также может понравиться
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *