Какова самая критическая часть кода, который Вы написали и как Вы приближались к нему?

Вы можете попробовать следующий код:

// main method
public static void main(String[] args) {

    // Creating a scanner
    Scanner scanner = new Scanner(System.in);

    // Inputting side 1
    System.out.print("Enter the dimensions of side 1: ");
    double x1 = scanner.nextDouble();
    double y1 = scanner.nextDouble();

    // Inputting side 2
    System.out.print("Enter the dimensions of side 2: ");
    double x2 = scanner.nextDouble();
    double y2 = scanner.nextDouble();

    // Inputting side 3
    System.out.print("Enter the dimensions of side 3: ");
    double x3 = scanner.nextDouble();
    double y3 = scanner.nextDouble();

    double side1 = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
    double side2 = Math.sqrt((x1 - x3) * (x1 - x3) + (y2 - y3) * (y2 - y3));
    double side3 = Math.sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));

    // Convert to Area
    double s = (side1 + side2 + side3) / 2;
    double area = Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));

    // Display the result
    System.out.printf("The area is %.2f\n", area);
}

Обновлен Использование одного Scanner вместо множественного создания Scanner, клавиша enter не сломается System.in ( Что я ошибаюсь ранее с мыслью enter ключ сломался бы System.in)

7
задан 4 revs, 2 users 100% 10 October 2008 в 05:08
поделиться

9 ответов

В то время как я лично не вовлечен в то, что описано там, эта статья будет, надо надеяться, способствовать духу Вашего вопроса: Они Запись Правильный Материал.

5
ответ дан 6 December 2019 в 09:23
поделиться

Я записал драйвер для измерительного устройства кровяного давления для использования больницы. Если это "перестанет работать", то пациенту не проверят его кровяное давление в запланированное время; если его кровяное давление будет аварийным, то никакое предупреждение (в большей системе) не будет инициировано. Такое событие могло быть клинически значительным.

Мой подход должен был полностью считать спецификацию/документацию в нерабочей среде (для предотвращения искушения начать кодировать сразу же), затем читать его снова на работе. После этого я суммировал возможные состояния и действия с бумагой и "flowcharted" алгоритм, и аннотировал все потенциальные реальные "плохие события" (отключаемые кабели, смерть батарей, и т.д.). Наконец, я записал и переписал драйвер три раза, каждого с различными механизмами (например, FSM), и сравнил их результаты. Каждое повторение помогло мне определить слабые места, которые я еще не обнаружил. Третьи переписывают, был "официальный" результат. Я рассмотрел каждое повторение со своим коллегой.

Эмоциональная подготовка состояла из убеждения меня, что должен невероятное происходить, по крайней мере, я не был преднамеренно небрежен - просто некомпетентный (старое, "я - только человеческое" оправдание).;-)

5
ответ дан 6 December 2019 в 09:23
поделиться

Едва ли ответ, но:

У меня есть друг, который пишет встроенное программное обеспечение управления для лазерных машин хирургии глаза. Когда у него была лазерная хирургия глаза самого, он удостоверился, что перешел к офтальмологу, который использовал систему его компании. У меня есть большое восхищение этим парнем. Я не могу думать о части программного обеспечения, которое я когда-либо писал, чей уровень качества был достаточно высок, что я доверю свое собственное зрение ему.

3
ответ дан 6 December 2019 в 09:23
поделиться

Я записал компьютерный интерфейс в машину МРТ. Это не имело никакого шанса причинения вреда конечному пользователю, поскольку это было просто рекордное управление, но это, возможно, потенциально поставило неправильный диагноз или опускает важную информацию.

Тесты, партии и много тестов.

Модульные тесты, середина и тесты высокого уровня. Моделируйте все возможные входные комбинации. Также большое тестирование с самими аппаратными средствами. Тестирование должно быть сделано полным и методическим способом. Должно потребоваться гораздо больше времени для тестирования, чем записать.

Сообщение об ошибке

Обо всех ошибках нужно сообщить и быть очевидными. Если патент не повредит сделать так, перестать работать быстро.

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

В неправильной компании это может действительно трудный вид ситуации для работы в. Однако, если вещи подходят, Вы хорошо финансируетесь и выпускаете давление, не высоко, это может быть очень полезное пространство для работы в.

3
ответ дан 6 December 2019 в 09:23
поделиться

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

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

2
ответ дан 6 December 2019 в 09:23
поделиться

Мое первое "реальное" задание программного обеспечения писало приложение для GUI для планирования стереотактической хирургии головного мозга. Тестирование, тестирование, не тестируя... абсолютно никаких формальных методов, мыслей технического стиля, просто младшие программисты, проворачивающие его. То, когда они начали говорить об использовании программного обеспечения для управления роботизированной рукой с лазером без любых серьезных технических методов на месте, я стал немного взволнованным, уехало в большее количество земель officey.

0
ответ дан 6 December 2019 в 09:23
поделиться

Я услышал, что сумасшедшие истории процессов раньше писали код в НАСА для spaceshuttles. Каждая строка кода имеет приблизительно 10-20 строк документации, наряду с тестами, полной историей пересмотра, и т.д. Каждый раз ошибка найдена, мало того, что код оценен и восстановлен, но и вся процедура написания кода, вся цепочка команды, и т.д. рассматривается для ответа на вопрос: "Что произошло неправильно в нашем процессе, который позволил этой ошибке быть включенной во-первых?"

2
ответ дан 6 December 2019 в 09:23
поделиться

В то время как ничто вполне столь же важное как машина МРТ или аппарат для измерения артериального давления, я действительно становился коснувшимся, чтобы сделать переписывание Блэк джека, когда я работал на игорного поставщика онлайн. Блэк джек является безусловно самой популярной онлайн-игрой, и миллионы долларов собирались пройти это программное обеспечение (и сделал).

Я записал игровой механизм, отдельный от сервера и клиента, и использовал Разработку через тестирование, чтобы гарантировать, что то, что я принимал, проникало в результатах. У меня также была обертка "сервер", которому производили консоль, которая позволит мне играть. Это было на самом деле только полезно в этом, это подражало реальному интерфейсу сервера, начиная с проигрывания текстовой версии блэк джека не очень забавно или легок ("Вы тянете 10. У Вас теперь есть 10 и 6, в то время как у дилера есть 6 показов. [bsd]>")

Игра все еще выполняется на некоторых сайтах туда, и к моему знанию, никогда не имела никаких финансовых ошибок после лет игры.

0
ответ дан 6 December 2019 в 09:23
поделиться

Я создал приложение информационной системы для культур местного органа власти и отдела туризма на острове Бали, которые были установлены в нескольких туризме denstinations, обеспечив обширную информацию о культуре, картах, размещения и т.д.

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

0
ответ дан 6 December 2019 в 09:23
поделиться