Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

уровень программирования

Лекция



Привет, Вы узнаете о том , что такое уровень программирования, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое уровень программирования , настоятельно рекомендую прочитать все из категории Разработка программного обеспечения и информационных систем.

Вам интересен ваш уровень программирования ?
Информатика и теория информации
  2n(Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комменатрии (от автора)
Структуры данных Не знает разницу между массивом и связным списком Может объяснить суть и использовать массивы, связные списки, ассоциативные массивы Может рассказать как реализуются хэш-таблицы, обрабатываются столкновения в них, знает очереди приоритетов и способы их реализации Знает сложные структуры данных, такие как: биноминальную и фиббоначиевую кучу, Б-дерево, AVL дерево, красно-черное дерево, префиксное дерево, расширяющиеся дерево, список с пропусками.  

Прим.переводчика: извиняюсь за костлявость перевода, также я заменил некоторые труднопереводимые выражения.
Тогда просим под кат.

Информатика и теория информации
  2n (Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комменатрии (от автора)
Структуры данных Не знает разницу между массивом и связным списком Может объяснить суть и использовать массивы, связные списки, ассоциативные массивы Может рассказать как реализуются хэш-таблицы, обрабатываются столкновения в них, знает очереди приоритетов и способы их реализации Знает сложные структуры данных, такие как: биноминальную и фиббоначиевую кучу, Б-дерево, AVL дерево, красно-черное дерево, префиксное дерево, расширяющиеся дерево, список с пропусками.  
Алгоритмы Не может найти среднее арифметическое в массиве. (Прим.автора: трудно поверить, но я проводил собеседование с такими кандидатами) Знает основные сортировки Знает такие понятия, как: дерево, объектный граф, может понять разницу в уровнях этой таблицы Хорошее знание алгоритмов графа, динамического программирования. Хотелось бы поработать с человеком, достигшим высшего уровня. Об этом говорит сайт https://intellect.icu . (прим.переводчика: Я бы тоже хотел!)
Устройство программирования Не знает что такое компилятор, линковщик, интерпретатор. Базовое понимание компиляторов, линкеров, интерпретаторов. Знает понятия: ассемблерный код, виртуальная память, своп. Знает как работает железо. Понимает разницу в режиме ядра и режиме пользователя, понимает многопоточность, виды синхронизаций и как они реализованы. В состоянии прочитать асссемблерный код, знает как работает сеть, понимание сокетов и сетевых протоколов/ Понимает работу CPU, памяти, кэша, прерываний, машинного кода, cборки мусора, компиляторов, линкеров, JIT-компиляторов, кучи, стека, адресацию памяти  
Software Engineering
  2n (Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комменатрии (от автора)
Системы контроля версий Папки с бэкапами. Начинающий пользователь CVS/SVN Опытный пользователь CVS/SVN, знает как ответвляться и сливаться, использовать патчи.. Пробовал Bzr/Mercurial/Darcs/Git  
Сборка Знает, как проводить сборку через IDE Может собрать проект через командную строку Может настроить скрипт для основной сборки Может настроить скрипт для сборки и написания документации, примечания к билду.  
Автоматизированное тестирование Думает, что тест — работа только тестера Написал хороший модульный тест. Писал код в TDD (Разработка через тестирование) технике. Понимает и может настроить тесты для функциональности/UI/производительности.  
Программирование
  2n (Уровень 0) n2 (Уровень1) n (Уровень 2) log(n) (Уровень 3) Комменатрии (от автора)
Код Код без ветвления, использует только Ctrl+C/Ctrl+V для повторения кода. Может разбить программу на несколько функций Может написать используемые несколько раз функции/объекты. Правильно использует различные типы структур и алгоритмов.  
Общение Не может выразить мысли/идеи. Собеседники понимают мысли Может общаться с собеседниками Может эффективно общаться с собеседниками Эта характеристика часто недооценена, но она очень важна.
Организация кода в одном файле Код не структурирован Методы логически сгруппированы Код разделен на регионы, хорошо прокомментирован У файла есть лицензия в заголовке, файл выглядит красиво, код хорошо прокомментирован.  
  2n (Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комментарии (от автора)
Организация кода в файлах Никакой организации кода Связанные файлы лежат в одной папке Каждый файл имеет свое собственное назначение, например: определение одного класса, реализация одной функции и.т.д. Глядя на имена папок и файлов можно понять организацию кода  
Организация файлов Все в одной папке Файлы логически распределены по папкам Бинарники, библиотеки, документация, билды — все распределено по своим папками Глядя на имена папок и файлов можно понять организацию кода Разница между этим и предыдущей строкой — масштаб организации.
Читаемость кода Односложные имена Хорошие имена для файлов, классов, переменных и.т.д. Нет длинных функций, комментарии объясняют необычный код, баг-фиксы, Код течет как речь, нет глубокой вложенности  
Защита от неправильного использования Не понимает смысла этого Проверяет все аргументы Проверяет возвращаемые значения, ищет исключения в коде, который может дать сбой. Есть своя собственная библиотека для защиты от неправильного использования, писал юнит-тесты для симуляции ошибок  
  2n (Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комментарии (от автора)
IDE Использует IDE для редактирования текста Хорошо знает интерфейс IDE, эффективно использует IDE и знает его меню. Знает горячие клавиши для частых операций Писал свои макросы  
API Часто подсматривает в документацию Держит частоиспользуемые APIs в голове Обширные, глубокие знания API Писал свои библиотеки для упрощения частых задач, а также заполнить пробелы в API Прим. переводчика: Не согласен с автором, по-моему нет смысла знать весь API чего-либо.
Фреймворки Не слышал о фреймворках Слышал о популярных фреймворках, но не использовал Использовал больше чем один фреймворк. Автор фреймворка  

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

Из статьи мы узнали кратко, но содержательно про уровень программирования
создано: 2017-01-10
обновлено: 2024-11-12
68



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка программного обеспечения и информационных систем

Термины: Разработка программного обеспечения и информационных систем