16
РАЗНИЦА МЕЖДУ КОДИРОВАНИЕМ И ПРОГРАММИРОВАНИЕМ Виталий Хить, Абсолютист

Разница между кодированием и программированием - Виталий Хить

Embed Size (px)

DESCRIPTION

Презентация Виталия Хитя на встрече Ukrainian Adobe Flash Platform User Group № 19 (UAFPUG#19 ) в Одессе, 19 мая 2010 г.

Citation preview

Page 1: Разница между кодированием и программированием - Виталий Хить

РАЗНИЦА МЕЖДУ КОДИРОВАНИЕМ И ПРОГРАММИРОВАНИЕМ

Виталий Хить, Абсолютист

Page 2: Разница между кодированием и программированием - Виталий Хить

ПРОГРАММИРОВАНИЕ

ПРОЕКТИРОВАНИЕ КОДИРОВАНИЕ ОТЛАДКА

Page 3: Разница между кодированием и программированием - Виталий Хить

КОДИРОВАНИЕ

ИДЕЯ

ПИСАТЕЛЬ

КНИГА

ЧИТАТЕЛЬ

ИДЕЯ

ХУДОЖНИК

КАРТИНА

ЗРИТЕЛЬ

ИДЕЯ

ПРОГРАММИСТ

КОД ПРОГРАММЫ

КОМПЬЮТЕР

ПОЛЬЗОВАТЕЛЬ

?

Page 4: Разница между кодированием и программированием - Виталий Хить

ПРОЕКТИРОВАНИЕ & КОДИРОВАНИЕ Проектирование

Объектная модель Паттерны

Кодирование Реализация проектной модели на языке

программирования Использование программной среды

Языково зависимые конструкции Фреймворки

Page 5: Разница между кодированием и программированием - Виталий Хить

МОНЕТИЗАЦИЯ КОДА

Поддержка программы Создание новых версий программы Повторное использование

Уровень функций Уровень классов Уровень библиотек

Open Source (уровень фреймворков) Продажа исходников

Page 6: Разница между кодированием и программированием - Виталий Хить

УРОВНИ АБСТРАКЦИЙ КОДИРОВАНИЯ Оформление кода Пространство имен Языковые конструкции Фреймворки

Page 7: Разница между кодированием и программированием - Виталий Хить

ОФОРМЛЕНИЕ КОДА

Пример 1if (a) b = 2; else b = 3;

Пример 2if (a){

b = 2;}else{

b = 3;}

Page 8: Разница между кодированием и программированием - Виталий Хить

ПРОСТРАНСТВО ИМЕН

Стандартные правила имен в языке Корпоративные правила именования Правила имен в фреймворке

Page 9: Разница между кодированием и программированием - Виталий Хить

ЯЗЫКОВЫЕ КОНСТРУКЦИИ

JavaScript

Синтаксис

DOM

Браузеры

AS

Синтаксис

MovieClip

FlashPlayer

Flex

Синтаксис

Application

FlashPlayer

Page 10: Разница между кодированием и программированием - Виталий Хить

ЯЗЫКОВЫЕ КОНСТРУКЦИИ

JavaScriptvar Class1 = {};Class1.x = “Test”;Class1.prototype.functionA = function() { return 5; }Class1.functionB = function() { return this.x; }function Class2() {} AS2class Class1{

public var x :String = “Test”;function Class1() {};function functionA() :Number { return 5; }function functionB() :String { return this.x; }

} AS3

Приведение типов Полноценный static

Page 11: Разница между кодированием и программированием - Виталий Хить

ФРЕЙМВОРКИ ИЛИ ОСОБЕННОСТИ ЯЗЫКА?

2 + 2 = 4?Sprite s = new Sprite();s.x += 0.000000001; trace(s.x); // 0Number y = 0;y += 0.000000001; trace(y); //

0.000000001; mxml

Page 12: Разница между кодированием и программированием - Виталий Хить

ЧИТАБЕЛЬНОСТЬ & ПРОИЗВОДИТЕЛЬНОСТЬ

AS3var i :int = 1; push 1var j :int = 2; push 2var k :int = i + j; add

convert_i

HAXEadd_i

inline

Tamarin (ByteCode)function main function{ {

getlocal0 pushbyte 1pushscope pushbyte 2

add_ifinddef print .printpushbyte 1 }pushbyte 2add_icallproperty print(1)

returnvoid}

Page 13: Разница между кодированием и программированием - Виталий Хить

САМОДОКУМЕНТИРОВАННЫЙ КОД

Документирование классов и членов классов

Документирование заголовков функций

Документирование кода Документирование соглашений

Page 14: Разница между кодированием и программированием - Виталий Хить

УНИВЕРСАЛЬНЫЕ ФРЕЙМВОРКИ

Flex Достоинства

Все в одном флаконе Индустриальный стандарт

Недостатки Mxml Большой вес Базовый класс (>400K текста)

MinimalComps (bit-101.com)http://www.minimalcomps.com/

Достоинства Базовый класс (<7K) Высокая модульность

Недостатки Отсутствие соглашений Слабая расширяемость Грустненький вид

Page 15: Разница между кодированием и программированием - Виталий Хить

ЧУКЧА - ПИСАТЕЛЬ

Зачем необходимо уметь читать чужой код Документация & исходники Библиотеки в бинарниках или

исходниках Как этому научиться

Гугл код Портирование с другого языка

Page 16: Разница между кодированием и программированием - Виталий Хить

СПАСИБО ЗА ВНИМАНИЕ

ВОПРОСЫ?